diff --git a/src/passes/shadowstack.ts b/src/passes/shadowstack.ts index 54ead248b0..0b61d9365c 100644 --- a/src/passes/shadowstack.ts +++ b/src/passes/shadowstack.ts @@ -154,7 +154,7 @@ type SlotMap = Map; type TempMap = Map; /** Attempts to match the `__tostack(value)` pattern. Returns `value` if a match, otherwise `0`. */ -function matchTostack(module: Module, expr: ExpressionRef): ExpressionRef { +function matchPattern(module: Module, expr: ExpressionRef): ExpressionRef { if (_BinaryenExpressionGetId(expr) == ExpressionId.Call && module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack) { assert(_BinaryenCallGetNumOperands(expr) == 1); return _BinaryenCallGetOperandAt(expr, 0); @@ -162,6 +162,18 @@ function matchTostack(module: Module, expr: ExpressionRef): ExpressionRef { return 0; } +/** Tests whether a `value` matched by `matchTostack` needs a slot. */ +function needsSlot(module: Module, value: ExpressionRef): bool { + switch (_BinaryenExpressionGetId(value)) { + // no need to stack null pointers + case ExpressionId.Const: return !isConstZero(value); + // already kept in another slot + case ExpressionId.LocalGet: + case ExpressionId.LocalSet: return false; // tee + } + return true; +} + /** Instruments a module with a shadow stack for precise GC. */ export class ShadowStackPass extends Pass { /** Stack frame slots, per function. */ @@ -320,9 +332,9 @@ export class ShadowStackPass extends Pass { var numSlots = 0; for (let i = 0, k = operands.length; i < k; ++i) { let operand = operands[i]; - let match = matchTostack(module, operand); + let match = matchPattern(module, operand); if (!match) continue; - if (isConstZero(match)) { + if (!needsSlot(module, match)) { operands[i] = match; continue; } @@ -366,10 +378,10 @@ export class ShadowStackPass extends Pass { operands[i] = _BinaryenCallGetOperandAt(call, i); } let numSlots = this.updateCallOperands(operands); + for (let i = 0, k = operands.length; i < k; ++i) { + _BinaryenCallSetOperandAt(call, i, operands[i]); + } if (numSlots) { - for (let i = 0, k = operands.length; i < k; ++i) { - _BinaryenCallSetOperandAt(call, i, operands[i]); - } // Reserve these slots for us so nested calls use their own this.callSlotOffset += numSlots; } @@ -390,10 +402,10 @@ export class ShadowStackPass extends Pass { operands[i] = _BinaryenCallIndirectGetOperandAt(callIndirect, i); } let numSlots = this.updateCallOperands(operands); + for (let i = 0, k = operands.length; i < k; ++i) { + _BinaryenCallIndirectSetOperandAt(callIndirect, i, operands[i]); + } if (numSlots) { - for (let i = 0, k = operands.length; i < k; ++i) { - _BinaryenCallIndirectSetOperandAt(callIndirect, i, operands[i]); - } // Reserve these slots for us so nested calls use their own this.callSlotOffset += numSlots; } @@ -408,14 +420,14 @@ export class ShadowStackPass extends Pass { /** @override */ visitLocalSet(localSet: ExpressionRef): void { + let module = this.module; let value = _BinaryenLocalSetGetValue(localSet); - let match = matchTostack(this.module, value); + let match = matchPattern(module, value); if (!match) return; - if (isConstZero(match)) { + if (!needsSlot(module, match)) { _BinaryenLocalSetSetValue(localSet, match); return; } - var module = this.module; let index = _BinaryenLocalSetGetIndex(localSet); let slotIndex = this.noteSlot(this.currentFunction, index); let stmts = new Array(); diff --git a/tests/compiler/assert-nonnull.optimized.wat b/tests/compiler/assert-nonnull.optimized.wat index 19370c2515..26d5ec0a02 100644 --- a/tests/compiler/assert-nonnull.optimized.wat +++ b/tests/compiler/assert-nonnull.optimized.wat @@ -84,17 +84,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.eqz if @@ -109,10 +98,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 ) (func $export:assert-nonnull/testObj (param $0 i32) (result i32) @@ -124,17 +109,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.eqz if @@ -151,10 +125,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $export:assert-nonnull/testProp (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -208,16 +178,13 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + i32.store local.get $0 i32.eqz if @@ -271,7 +238,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -290,21 +257,18 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store offset=4 + i32.store local.get $0 i32.eqz if @@ -316,7 +280,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -348,9 +312,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 block $__inlined_func$assert-nonnull/testAll block $folding-inner0 local.get $0 @@ -417,9 +378,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 block $__inlined_func$assert-nonnull/testAll2 block $folding-inner0 local.get $0 @@ -491,17 +449,14 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.eqz if @@ -513,12 +468,12 @@ unreachable end local.get $0 - i32.store offset=4 + i32.store local.get $0 i32.load call_indirect (type $none_=>_i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/assert-nonnull.untouched.wat b/tests/compiler/assert-nonnull.untouched.wat index 5512697363..63d2c59d6c 100644 --- a/tests/compiler/assert-nonnull.untouched.wat +++ b/tests/compiler/assert-nonnull.untouched.wat @@ -29,6 +29,37 @@ (export "testRet" (func $export:assert-nonnull/testRet)) (export "testObjFn" (func $export:assert-nonnull/testObjFn)) (export "testObjRet" (func $export:assert-nonnull/testObjRet)) + (func $assert-nonnull/testVar (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + local.tee $1 + if (result i32) + local.get $1 + else + i32.const 32 + i32.const 96 + i32.const 2 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + ) + (func $assert-nonnull/testObj (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + local.tee $1 + if (result i32) + local.get $1 + else + i32.const 32 + i32.const 96 + i32.const 11 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + i32.load + ) (func $assert-nonnull/testFn (param $0 i32) (result i32) i32.const 0 global.set $~argumentsLength @@ -61,18 +92,15 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 if (result i32) local.get $1 else @@ -92,47 +120,7 @@ call $~lib/array/Array#__get local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $assert-nonnull/testElem (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/array/Array#__get - local.tee $1 - i32.store offset=4 - local.get $1 - if (result i32) - local.get $1 - else - i32.const 32 - i32.const 96 - i32.const 23 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -150,11 +138,8 @@ i64.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 if (result i32) local.get $1 else @@ -219,11 +204,8 @@ i64.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 if (result i32) local.get $1 else @@ -275,73 +257,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $assert-nonnull/testVar (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - if (result i32) - local.get $1 - else - i32.const 32 - i32.const 96 - i32.const 2 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $assert-nonnull/testObj (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - if (result i32) - local.get $1 - else - i32.const 32 - i32.const 96 - i32.const 11 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $assert-nonnull/testProp (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -478,24 +393,56 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $assert-nonnull/testFn2 (param $0 i32) (result i32) + (func $assert-nonnull/testElem (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 0 + call $~lib/array/Array#__get local.tee $1 i32.store local.get $1 + if (result i32) + local.get $1 + else + i32.const 32 + i32.const 96 + i32.const 23 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $assert-nonnull/testFn2 (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $1 if (result i32) local.get $1 else @@ -507,7 +454,7 @@ unreachable end local.tee $2 - i32.store offset=4 + i32.store i32.const 0 global.set $~argumentsLength local.get $2 @@ -515,7 +462,7 @@ call_indirect (type $none_=>_i32) local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $3 diff --git a/tests/compiler/builtins.optimized.wat b/tests/compiler/builtins.optimized.wat index 2e750bfa1c..040a28b9f0 100644 --- a/tests/compiler/builtins.optimized.wat +++ b/tests/compiler/builtins.optimized.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $none_=>_none (func)) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) (type $i32_=>_i32 (func (param i32) (result i32))) @@ -76,6 +76,122 @@ local.get $1 i32.add ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/atomics/Atomics.isLockFree (param $0 i32) (result i32) i32.const 1 local.get $0 @@ -100,7 +216,11 @@ (func $~start call $start:builtins ) - (func $~stack_check + (func $start:builtins + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2028 i32.lt_s @@ -112,159 +232,6 @@ call $~lib/builtins/abort unreachable end - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $start:builtins - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store diff --git a/tests/compiler/builtins.untouched.wat b/tests/compiler/builtins.untouched.wat index fad6fdad2f..f1745736f0 100644 --- a/tests/compiler/builtins.untouched.wat +++ b/tests/compiler/builtins.untouched.wat @@ -215,6 +215,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:length (param $0 i32) (result i32) i32.const 2 ) @@ -397,101 +439,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:builtins (local $0 i32) (local $1 i32) diff --git a/tests/compiler/call-super.optimized.wat b/tests/compiler/call-super.optimized.wat index 83ce8c782c..93d903019d 100644 --- a/tests/compiler/call-super.optimized.wat +++ b/tests/compiler/call-super.optimized.wat @@ -1736,13 +1736,13 @@ i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 5 @@ -1753,9 +1753,6 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1808,7 +1805,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1856,13 +1853,13 @@ i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 7 @@ -1870,9 +1867,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1916,7 +1910,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1964,13 +1958,13 @@ i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 9 @@ -1978,9 +1972,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2012,7 +2003,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2060,13 +2051,13 @@ i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 11 @@ -2074,9 +2065,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2108,7 +2096,7 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2279,13 +2267,13 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 3 @@ -2296,9 +2284,6 @@ i32.const 2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2363,7 +2348,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/call-super.untouched.wat b/tests/compiler/call-super.untouched.wat index 97f6f8ee46..c2c5be54d7 100644 --- a/tests/compiler/call-super.untouched.wat +++ b/tests/compiler/call-super.untouched.wat @@ -2744,39 +2744,29 @@ unreachable end ) - (func $call-super/B#constructor (param $0 i32) (result i32) + (func $call-super/A#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 3 + i32.const 4 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 - i32.const 2 - call $call-super/B#set:b - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $call-super/A#constructor - local.tee $0 - i32.store + i32.const 1 + call $call-super/A#set:a local.get $0 i32.load i32.const 1 @@ -2785,20 +2775,7 @@ if i32.const 0 i32.const 32 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 16 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable @@ -2806,42 +2783,37 @@ local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/D#constructor (param $0 i32) (result i32) + (func $call-super/B#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 5 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 2 - call $call-super/D#set:b + call $call-super/B#set:b global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $call-super/C#constructor + call $call-super/A#constructor local.tee $0 i32.store local.get $0 @@ -2852,7 +2824,7 @@ if i32.const 0 i32.const 32 - i32.const 38 + i32.const 15 i32.const 5 call $~lib/builtins/abort unreachable @@ -2865,7 +2837,7 @@ if i32.const 0 i32.const 32 - i32.const 39 + i32.const 16 i32.const 5 call $~lib/builtins/abort unreachable @@ -2873,135 +2845,149 @@ local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/F#constructor (param $0 i32) (result i32) + (func $call-super/C#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 7 + i32.const 4 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $call-super/E#constructor - local.tee $0 - i32.store - local.get $0 - i32.const 2 - call $call-super/F#set:b + i32.const 1 + call $call-super/C#set:a local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/H#constructor (param $0 i32) (result i32) + (func $call-super/D#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 9 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 + i32.const 2 + call $call-super/D#set:b global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $call-super/G#constructor + local.get $0 + call $call-super/C#constructor local.tee $0 i32.store local.get $0 + i32.load + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 38 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 i32.const 2 - call $call-super/H#set:b + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/J#constructor (param $0 i32) (result i32) + (func $call-super/E#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer + i32.const 4 i32.const 8 - i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $call-super/I#constructor - local.tee $0 - i32.store + i32.const 1 + call $call-super/E#set:a local.get $0 - i32.const 2 - call $call-super/J#set:b + i32.load + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 56 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/A#constructor (param $0 i32) (result i32) + (func $call-super/F#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3015,28 +3001,20 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 + i32.const 8 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $call-super/A#set:a + call $call-super/E#constructor + local.tee $0 + i32.store local.get $0 - i32.load - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + call $call-super/F#set:b local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -3045,7 +3023,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/C#constructor (param $0 i32) (result i32) + (func $call-super/G#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3060,14 +3038,14 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 10 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 1 - call $call-super/C#set:a + call $call-super/G#set:a local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -3076,7 +3054,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/E#constructor (param $0 i32) (result i32) + (func $call-super/H#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3090,28 +3068,20 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 i32.const 8 + i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $call-super/E#set:a + call $call-super/G#constructor + local.tee $0 + i32.store local.get $0 - i32.load - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 56 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + call $call-super/H#set:b local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -3120,7 +3090,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/G#constructor (param $0 i32) (result i32) + (func $call-super/I#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3135,14 +3105,14 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 10 + i32.const 12 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 1 - call $call-super/G#set:a + call $call-super/I#set:a local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -3151,7 +3121,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/I#constructor (param $0 i32) (result i32) + (func $call-super/J#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3165,15 +3135,20 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 12 + i32.const 8 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $call-super/I#set:a + call $call-super/I#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 2 + call $call-super/J#set:b local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-implements.optimized.wat b/tests/compiler/class-implements.optimized.wat index 642f9b909e..29a70a548a 100644 --- a/tests/compiler/class-implements.optimized.wat +++ b/tests/compiler/class-implements.optimized.wat @@ -1530,28 +1530,31 @@ unreachable end ) - (func $class-implements/C#constructor (param $0 i32) (result i32) + (func $class-implements/A#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 5 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + ) + (func $class-implements/C#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1564,24 +1567,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 6 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $class-implements/A#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1594,7 +1585,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 3 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -1604,6 +1595,12 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $export:class-implements/A#foo (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-implements.untouched.wat b/tests/compiler/class-implements.untouched.wat index 224874cdcf..a67a4aafb2 100644 --- a/tests/compiler/class-implements.untouched.wat +++ b/tests/compiler/class-implements.untouched.wat @@ -2452,44 +2452,6 @@ unreachable end ) - (func $class-implements/C#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-implements/B#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $start:class-implements (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2620,6 +2582,39 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $class-implements/C#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-implements/B#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $export:class-implements/A#foo (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading.optimized.wat b/tests/compiler/class-overloading.optimized.wat index 276d40366b..ece8075025 100644 --- a/tests/compiler/class-overloading.optimized.wat +++ b/tests/compiler/class-overloading.optimized.wat @@ -1,7 +1,7 @@ (module (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) (type $none_=>_none (func)) + (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -1474,8 +1474,123 @@ i32.const 20 i32.add ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $class-overloading/A#a@virtual (param $0 i32) - (local $1 i32) block $default block $case2 block $case1 @@ -1484,16 +1599,16 @@ i32.const 8 i32.sub i32.load - local.tee $1 + local.tee $0 i32.const 4 i32.eq - local.get $1 + local.get $0 i32.const 6 i32.eq i32.or br_if $case0 block $tablify|0 - local.get $1 + local.get $0 i32.const 5 i32.sub br_table $case1 $tablify|0 $case0 $case2 $tablify|0 @@ -1504,7 +1619,6 @@ global.set $class-overloading/which return end - local.get $0 call $class-overloading/C#a return end @@ -1600,22 +1714,19 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 15 call $~lib/rt/itcms/__new local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1640,20 +1751,9 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.store @@ -1675,10 +1775,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 3 return end @@ -1779,61 +1875,7 @@ unreachable end ) - (func $class-overloading/B#constructor (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $class-overloading/C#a global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1842,152 +1884,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $class-overloading/C#a (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 1520 global.set $class-overloading/which global.get $~lib/memory/__stack_pointer @@ -2015,73 +1911,8 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $class-overloading/D#constructor (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/B#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $class-overloading/E#constructor (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/D#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $start:class-overloading (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2217,13 +2048,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new @@ -2231,14 +2062,11 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 call $class-overloading/B#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2247,9 +2075,7 @@ global.set $class-overloading/which global.get $~lib/memory/__stack_pointer global.get $class-overloading/c - local.tee $0 i32.store - local.get $0 call $class-overloading/C#a global.get $~lib/memory/__stack_pointer global.get $class-overloading/which @@ -2562,13 +2388,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 call $~lib/rt/itcms/__new @@ -2576,14 +2402,11 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 call $class-overloading/E#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2789,22 +2612,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2829,7 +2649,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2855,4 +2675,110 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $class-overloading/B#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-overloading/D#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/B#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-overloading/E#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/D#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/class-overloading.untouched.wat b/tests/compiler/class-overloading.untouched.wat index fb2234a085..bdfba52cd7 100644 --- a/tests/compiler/class-overloading.untouched.wat +++ b/tests/compiler/class-overloading.untouched.wat @@ -2487,6 +2487,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $class-overloading/A#b (param $0 i32) (param $1 i32) i32.const 464 global.set $class-overloading/which @@ -2808,6 +2850,10 @@ call $~lib/builtins/abort unreachable ) + (func $class-overloading/A1#bar (param $0 i32) (result i32) + local.get $0 + call $class-overloading/A1#baz@virtual + ) (func $class-overloading/A2#foo@virtual (param $0 i32) (result i32) (local $1 i32) block $default @@ -3002,341 +3048,9 @@ call $~lib/builtins/abort unreachable end - ) - (func $class-overloading/B#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/A#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $class-overloading/C#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/B#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $class-overloading/C#a (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $class-overloading/B#a - global.get $class-overloading/which - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 496 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 592 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $class-overloading/D#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/B#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $class-overloading/E#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/D#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $class-overloading/F#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/E#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $class-overloading/B2#constructor (param $0 i32) (result i32) - (local $1 i32) + ) + (func $class-overloading/C#a (param $0 i32) (param $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3346,32 +3060,36 @@ i64.const 0 i64.store local.get $0 + local.get $1 + call $class-overloading/B#a + global.get $class-overloading/which + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 496 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 528 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/A2#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 + i32.const 592 + global.set $class-overloading/which global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $start:class-overloading (local $0 i32) @@ -4141,45 +3859,93 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $class-overloading/B1#constructor (param $0 i32) (result i32) + (func $class-overloading/B2#foo (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + i32.const 0 + call $class-overloading/B1#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $class-overloading/A1#bar + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-overloading/A#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 15 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $1 - call $class-overloading/A1#constructor + ) + (func $class-overloading/B#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/A#constructor local.tee $0 i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading/A1#bar (param $0 i32) (result i32) + (func $class-overloading/C#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4190,12 +3956,21 @@ i32.const 0 i32.store local.get $0 - local.set $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + call $class-overloading/B#constructor + local.tee $0 i32.store - local.get $1 - call $class-overloading/A1#baz@virtual + local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4203,7 +3978,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading/B2#foo (param $0 i32) (result i32) + (func $class-overloading/D#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4213,14 +3988,55 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - call $class-overloading/B1#constructor + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/B#constructor + local.tee $0 + i32.store + local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 + ) + (func $class-overloading/E#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $1 - call $class-overloading/A1#bar + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/D#constructor + local.tee $0 + i32.store + local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4228,7 +4044,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading/A#constructor (param $0 i32) (result i32) + (func $class-overloading/F#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4243,11 +4059,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/E#constructor + local.tee $0 + i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -4340,6 +4161,39 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $class-overloading/B2#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/A2#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $class-overloading/A1#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4368,4 +4222,37 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $class-overloading/B1#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $class-overloading/A1#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/class.optimized.wat b/tests/compiler/class.optimized.wat index 49be758414..c8e25cb77f 100644 --- a/tests/compiler/class.optimized.wat +++ b/tests/compiler/class.optimized.wat @@ -1940,20 +1940,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load drop @@ -1973,13 +1959,6 @@ i32.const 3 i32.store8 offset=6 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/class.untouched.wat b/tests/compiler/class.untouched.wat index 3c6c31c1f5..7ae42ab119 100644 --- a/tests/compiler/class.untouched.wat +++ b/tests/compiler/class.untouched.wat @@ -106,6 +106,51 @@ local.get $1 i32.store8 offset=6 ) + (func $class/test (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.const 1 + i32.const 2 + call $class/Animal#instanceAdd + drop + local.get $0 + f32.const 1 + f32.const 2 + call $class/Animal#instanceSub + drop + local.get $0 + i32.load + drop + local.get $0 + i32.load16_s offset=4 + drop + local.get $0 + i32.load8_s offset=6 + drop + local.get $0 + i32.const 0 + i32.const 1 + i32.add + call $class/Animal#set:one + local.get $0 + i32.const 1 + i32.const 1 + i32.add + call $class/Animal#set:two + local.get $0 + i32.const 1 + i32.const 1 + i32.add + i32.const 1 + i32.add + call $class/Animal#set:three + local.get $0 + local.set $1 + local.get $1 + local.set $2 + local.get $2 + ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2642,78 +2687,6 @@ unreachable end ) - (func $class/test (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 1 - i32.const 2 - call $class/Animal#instanceAdd - drop - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - f32.const 1 - f32.const 2 - call $class/Animal#instanceSub - drop - local.get $0 - i32.load - drop - local.get $0 - i32.load16_s offset=4 - drop - local.get $0 - i32.load8_s offset=6 - drop - local.get $0 - i32.const 0 - i32.const 1 - i32.add - call $class/Animal#set:one - local.get $0 - i32.const 1 - i32.const 1 - i32.add - call $class/Animal#set:two - local.get $0 - i32.const 1 - i32.const 1 - i32.add - i32.const 1 - i32.add - call $class/Animal#set:three - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) diff --git a/tests/compiler/extends-baseaggregate.optimized.wat b/tests/compiler/extends-baseaggregate.optimized.wat index 127caeb323..c31f102dce 100644 --- a/tests/compiler/extends-baseaggregate.optimized.wat +++ b/tests/compiler/extends-baseaggregate.optimized.wat @@ -1,8 +1,8 @@ (module - (type $i32_i32_=>_none (func (param i32 i32))) (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) + (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $none_=>_i32 (func (result i32))) @@ -1975,103 +1975,6 @@ end end ) - (func $~lib/array/ensureSize (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.const 1176 - i32.load - local.tee $4 - i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $0 - i32.const 268435455 - i32.gt_u - if - i32.const 1616 - i32.const 1664 - i32.const 14 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - i32.const 1168 - i32.load - local.tee $5 - local.set $1 - block $__inlined_func$~lib/rt/itcms/__renew - local.get $0 - i32.const 2 - i32.shl - local.tee $6 - local.tee $2 - local.get $5 - i32.const 20 - i32.sub - local.tee $3 - i32.load - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $3 - local.get $2 - i32.store offset=16 - local.get $1 - local.set $0 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $2 - local.get $3 - i32.load offset=12 - call $~lib/rt/itcms/__new - local.tee $0 - local.get $1 - local.get $2 - local.get $3 - i32.load offset=16 - local.tee $1 - local.get $1 - local.get $2 - i32.gt_u - select - call $~lib/memory/memory.copy - end - local.get $0 - local.get $4 - i32.add - local.get $6 - local.get $4 - i32.sub - call $~lib/memory/memory.fill - local.get $0 - local.get $5 - i32.ne - if - i32.const 1168 - local.get $0 - i32.store - i32.const 1172 - local.get $0 - i32.store - i32.const 1168 - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__link - end - i32.const 1176 - local.get $6 - i32.store - end - ) (func $~lib/rt/__visit_members (param $0 i32) (local $1 i32) (local $2 i32) @@ -2145,9 +2048,32 @@ end ) (func $~start + call $start:extends-baseaggregate + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 18176 + i32.const 18224 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:extends-baseaggregate (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2177,23 +2103,20 @@ i32.const 1168 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 6 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2202,26 +2125,26 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store end - local.get $0 + local.get $2 f64.const 0 f64.store - local.get $0 + local.get $2 f64.const 0 f64.store offset=8 - local.get $0 + local.get $2 i32.const 0 i32.store offset=16 - local.get $0 + local.get $2 i32.const 0 i32.const 0 call $~lib/rt/itcms/__link @@ -2229,53 +2152,129 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 i32.const 1180 i32.load - local.tee $1 + local.tee $9 i32.const 1 i32.add - local.tee $2 - call $~lib/array/ensureSize + local.tee $5 + local.set $1 + local.get $5 + i32.const 1176 + i32.load + local.tee $6 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 1616 + i32.const 1664 + i32.const 14 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + i32.const 1168 + i32.load + local.tee $7 + local.set $0 + block $__inlined_func$~lib/rt/itcms/__renew + local.get $1 + i32.const 2 + i32.shl + local.tee $8 + local.tee $3 + local.get $7 + i32.const 20 + i32.sub + local.tee $4 + i32.load + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $4 + local.get $3 + i32.store offset=16 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $3 + local.get $4 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $0 + local.get $3 + local.get $4 + i32.load offset=16 + local.tee $0 + local.get $0 + local.get $3 + i32.gt_u + select + call $~lib/memory/memory.copy + local.get $1 + local.set $0 + end + local.get $0 + local.get $6 + i32.add + local.get $8 + local.get $6 + i32.sub + call $~lib/memory/memory.fill + local.get $0 + local.get $7 + i32.ne + if + i32.const 1168 + local.get $0 + i32.store + i32.const 1172 + local.get $0 + i32.store + i32.const 1168 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + end + i32.const 1176 + local.get $8 + i32.store + end i32.const 1172 i32.load - local.get $1 + local.get $9 i32.const 2 i32.shl i32.add - local.get $0 + local.get $2 i32.store i32.const 1168 - local.get $0 + local.get $2 i32.const 1 call $~lib/rt/itcms/__link i32.const 1180 - local.get $2 + local.get $5 i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - if - i32.const 18176 - i32.const 18224 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) ) diff --git a/tests/compiler/extends-baseaggregate.untouched.wat b/tests/compiler/extends-baseaggregate.untouched.wat index 2d64f80526..ac9236c7f8 100644 --- a/tests/compiler/extends-baseaggregate.untouched.wat +++ b/tests/compiler/extends-baseaggregate.untouched.wat @@ -4098,44 +4098,6 @@ unreachable end ) - (func $extends-baseaggregate/A2#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $extends-baseaggregate/A1#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $start:extends-baseaggregate (local $0 i32) (local $1 i32) @@ -4222,4 +4184,37 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $extends-baseaggregate/A2#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $extends-baseaggregate/A1#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/extends-recursive.optimized.wat b/tests/compiler/extends-recursive.optimized.wat index 30c65058c7..7962787d99 100644 --- a/tests/compiler/extends-recursive.optimized.wat +++ b/tests/compiler/extends-recursive.optimized.wat @@ -1609,13 +1609,13 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if @@ -1626,9 +1626,6 @@ i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1656,7 +1653,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.untouched.wat b/tests/compiler/extends-recursive.untouched.wat index 0ad72d777e..57f3927dbe 100644 --- a/tests/compiler/extends-recursive.untouched.wat +++ b/tests/compiler/extends-recursive.untouched.wat @@ -2539,45 +2539,38 @@ unreachable end ) - (func $extends-recursive/Child#constructor (param $0 i32) (result i32) + (func $extends-recursive/Parent#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $extends-recursive/Parent#constructor - local.tee $0 - i32.store + i32.const 0 + call $extends-recursive/Parent#set:child local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $extends-recursive/Parent#constructor (param $0 i32) (result i32) + (func $extends-recursive/Child#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2592,14 +2585,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 4 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - call $extends-recursive/Parent#set:child + call $extends-recursive/Parent#constructor + local.tee $0 + i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/field-initialization.optimized.wat b/tests/compiler/field-initialization.optimized.wat index e9b30b7b3d..2db7885209 100644 --- a/tests/compiler/field-initialization.optimized.wat +++ b/tests/compiler/field-initialization.optimized.wat @@ -1816,6 +1816,122 @@ local.get $1 call $~lib/rt/itcms/__link ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $field-initialization/SomeOtherObject#set:c (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -1918,185 +2034,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $field-initialization/SomeOtherObject#constructor (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $field-initialization/SomeObject#constructor - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $field-initialization/SomeOtherObject#set:c - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $start:field-initialization (local $0 i32) (local $1 i32) @@ -2496,12 +2433,9 @@ end global.get $~lib/memory/__stack_pointer call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2514,19 +2448,19 @@ i32.const 4 i32.const 13 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 local.get $0 + local.get $1 call $field-initialization/Ref_Init#set:a global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $0 + i32.store offset=4 local.get $1 + local.get $0 i32.load i32.ne if @@ -2560,7 +2494,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.load if @@ -2594,7 +2528,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.load i32.eqz @@ -2632,7 +2566,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.load i32.eqz @@ -2646,13 +2580,13 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 17 @@ -2661,18 +2595,15 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 call $field-initialization/Inherit_Base#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.load i32.eqz @@ -2686,13 +2617,13 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 19 @@ -2701,18 +2632,15 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 call $field-initialization/Inherit_Base#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.load i32.eqz @@ -2729,7 +2657,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $0 - i32.store offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.store @@ -2752,7 +2680,7 @@ local.get $0 i32.load offset=4 local.tee $0 - i32.store offset=12 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2770,7 +2698,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $0 - i32.store offset=16 + i32.store offset=12 local.get $0 i32.const 1 i32.store @@ -2778,7 +2706,7 @@ i32.const 0 call $field-initialization/SomeObject#set:b local.get $0 - i32.store offset=20 + i32.store offset=16 local.get $0 i32.load i32.const 1 @@ -2795,7 +2723,7 @@ local.get $0 i32.load offset=4 local.tee $0 - i32.store offset=12 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2813,7 +2741,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $0 - i32.store offset=24 + i32.store offset=20 local.get $0 i32.const 1648 call $field-initialization/SomeObject#set:b @@ -2821,7 +2749,7 @@ i32.const 0 i32.store local.get $0 - i32.store offset=28 + i32.store offset=24 local.get $0 i32.load if @@ -2836,10 +2764,10 @@ local.get $0 i32.load offset=4 local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1648 - i32.store offset=4 + i32.store offset=28 local.get $0 i32.const 1648 call $~lib/string/String.__eq @@ -2882,10 +2810,10 @@ local.get $0 i32.load offset=4 local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1680 - i32.store offset=4 + i32.store offset=28 local.get $0 i32.const 1680 call $~lib/string/String.__eq @@ -2913,7 +2841,7 @@ i32.const 0 call $field-initialization/SomeObject#set:b local.get $0 - i32.store offset=28 + i32.store offset=24 local.get $0 i32.load if @@ -2928,7 +2856,7 @@ local.get $0 i32.load offset=4 local.tee $1 - i32.store offset=12 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2945,10 +2873,10 @@ local.get $0 i32.load offset=8 local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1712 - i32.store offset=4 + i32.store offset=28 local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -2965,7 +2893,7 @@ global.get $~lib/memory/__stack_pointer call $field-initialization/SomeOtherObject#constructor local.tee $0 - i32.store offset=20 + i32.store offset=16 local.get $0 i32.const 3 i32.store @@ -2993,10 +2921,10 @@ local.get $0 i32.load offset=4 local.tee $1 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1744 - i32.store offset=4 + i32.store offset=28 local.get $1 i32.const 1744 call $~lib/string/String.__eq @@ -3013,10 +2941,10 @@ local.get $0 i32.load offset=8 local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1776 - i32.store offset=4 + i32.store offset=28 local.get $0 i32.const 1776 call $~lib/string/String.__eq @@ -3073,12 +3001,12 @@ i32.const 23 call $~lib/rt/itcms/__new local.tee $0 - i32.store offset=28 + i32.store offset=24 local.get $0 call $~lib/arraybuffer/ArrayBuffer#constructor call $field-initialization/Ref_Init#set:a local.get $0 - i32.store offset=28 + i32.store offset=24 local.get $0 i32.load i32.eqz @@ -3205,4 +3133,34 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) + (func $field-initialization/SomeOtherObject#constructor (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $field-initialization/SomeObject#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $field-initialization/SomeOtherObject#set:c + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/field-initialization.untouched.wat b/tests/compiler/field-initialization.untouched.wat index 81f70f2d9d..a2ec7e420d 100644 --- a/tests/compiler/field-initialization.untouched.wat +++ b/tests/compiler/field-initialization.untouched.wat @@ -2672,6 +2672,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $field-initialization/SomeOtherObject#set:c (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3064,218 +3106,6 @@ unreachable end ) - (func $field-initialization/Inherit#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $field-initialization/Inherit_Base#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Inherit_Ctor#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $field-initialization/Inherit_Base#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $field-initialization/SomeOtherObject#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $field-initialization/SomeObject#constructor - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $field-initialization/SomeOtherObject#set:c - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $start:field-initialization (local $0 i32) (local $1 i32) @@ -3512,14 +3342,9 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 call $field-initialization/Ref_Ctor_Param#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load local.get $0 @@ -3537,7 +3362,7 @@ i32.const 0 call $field-initialization/Nullable_Ctor#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load i32.const 0 @@ -3555,7 +3380,7 @@ i32.const 0 call $field-initialization/Nullable_Init_Ctor#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load i32.const 0 @@ -3573,7 +3398,7 @@ i32.const 0 call $field-initialization/Nullable_Ctor_Init#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load i32.const 0 @@ -3591,7 +3416,7 @@ i32.const 0 call $field-initialization/Inherit#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load i32.const 0 @@ -3609,7 +3434,7 @@ i32.const 0 call $field-initialization/Inherit_Ctor#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.load i32.const 0 @@ -3628,7 +3453,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/SomeObject#set:a @@ -3656,7 +3481,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 0 call $~lib/string/String.__eq @@ -3674,7 +3499,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $2 - i32.store offset=16 + i32.store offset=12 local.get $2 i32.const 1 call $field-initialization/SomeObject#set:a @@ -3683,7 +3508,7 @@ call $field-initialization/SomeObject#set:b local.get $2 local.tee $3 - i32.store offset=20 + i32.store offset=16 local.get $3 i32.load i32.const 1 @@ -3702,7 +3527,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 0 call $~lib/string/String.__eq @@ -3720,7 +3545,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $4 - i32.store offset=24 + i32.store offset=20 local.get $4 i32.const 624 call $field-initialization/SomeObject#set:b @@ -3729,7 +3554,7 @@ call $field-initialization/SomeObject#set:a local.get $4 local.tee $5 - i32.store offset=28 + i32.store offset=24 local.get $5 i32.load i32.const 0 @@ -3748,13 +3573,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 624 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 + i32.store offset=28 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -3799,13 +3624,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 656 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 + i32.store offset=28 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -3834,7 +3659,7 @@ call $field-initialization/SomeObject#set:b local.get $7 local.tee $5 - i32.store offset=28 + i32.store offset=24 local.get $5 i32.load i32.const 0 @@ -3853,7 +3678,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 0 call $~lib/string/String.__eq @@ -3871,13 +3696,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 688 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 + i32.store offset=28 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -3894,7 +3719,7 @@ i32.const 0 call $field-initialization/SomeOtherObject#constructor local.tee $3 - i32.store offset=20 + i32.store offset=16 local.get $3 i32.const 3 call $field-initialization/SomeObject#set:a @@ -3925,13 +3750,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 720 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 + i32.store offset=28 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -3948,13 +3773,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=12 + i32.store offset=8 local.get $8 i32.const 752 local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 + i32.store offset=28 local.get $8 call $~lib/string/String.__eq i32.eqz @@ -3996,7 +3821,7 @@ i32.const 23 call $~lib/rt/itcms/__new local.tee $5 - i32.store offset=28 + i32.store offset=24 end local.get $5 i32.const 0 @@ -4005,7 +3830,7 @@ call $field-initialization/Ref_Init_InlineCtor#set:a local.get $5 local.tee $5 - i32.store offset=28 + i32.store offset=24 local.get $5 i32.load i32.const 0 @@ -4589,6 +4414,72 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $field-initialization/Inherit#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $field-initialization/Inherit_Base#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Inherit_Ctor#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $field-initialization/Inherit_Base#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $field-initialization/SomeObject#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4623,6 +4514,42 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $field-initialization/SomeOtherObject#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $field-initialization/SomeObject#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $field-initialization/SomeOtherObject#set:c + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $field-initialization/Flow_Balanced#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/getter-call.optimized.wat b/tests/compiler/getter-call.optimized.wat index 87bf9bd813..3d79a8151b 100644 --- a/tests/compiler/getter-call.optimized.wat +++ b/tests/compiler/getter-call.optimized.wat @@ -1416,13 +1416,13 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1514,14 +1514,11 @@ global.set $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 1456 i32.load call_indirect (type $none_=>_i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/getter-call.untouched.wat b/tests/compiler/getter-call.untouched.wat index 4f3adf2eaa..a02d3aeddd 100644 --- a/tests/compiler/getter-call.untouched.wat +++ b/tests/compiler/getter-call.untouched.wat @@ -2455,41 +2455,36 @@ unreachable end ) - (func $getter-call/test (result i32) - (local $0 i32) + (func $getter-call/C#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - call $getter-call/C#constructor - local.tee $0 i32.store - i32.const 0 - global.set $~argumentsLength + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $getter-call/C#get:x - i32.load - call_indirect (type $none_=>_i32) - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $getter-call/C#constructor (param $0 i32) (result i32) + (func $getter-call/test (result i32) + (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2499,17 +2494,17 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $getter-call/C#constructor + local.tee $0 + i32.store + i32.const 0 + global.set $~argumentsLength local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 + call $getter-call/C#get:x + i32.load + call_indirect (type $none_=>_i32) local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/infer-array.optimized.wat b/tests/compiler/infer-array.optimized.wat index d6d1d4ddaa..7d1851937b 100644 --- a/tests/compiler/infer-array.optimized.wat +++ b/tests/compiler/infer-array.optimized.wat @@ -2010,93 +2010,6 @@ i32.const 1 call $~lib/rt/itcms/__link ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $infer-array/Ref - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $infer-array/Ref $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner1 $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - return - end - unreachable - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load offset=4 - local.tee $1 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load - local.tee $3 - if - local.get $3 - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - ) - (func $~start - call $start:infer-array - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 2212 - i32.lt_s - if - i32.const 18624 - i32.const 18672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $start:infer-array (local $0 i32) (local $1 i32) @@ -2104,7 +2017,7 @@ (local $3 i32) block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2114,9 +2027,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 memory.size i32.const 16 i32.shl @@ -2156,9 +2066,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 local.tee $1 i32.load offset=12 @@ -2193,9 +2100,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 local.tee $1 i32.load offset=12 @@ -2222,11 +2126,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=16 + i32.store offset=12 local.get $0 i32.const 0 local.get $1 @@ -2236,11 +2140,11 @@ local.get $2 call $~lib/array/Array#__uset local.get $0 - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $2 @@ -2257,7 +2161,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=12 + i32.store offset=8 local.get $0 i32.const 0 local.get $1 @@ -2267,11 +2171,11 @@ local.get $2 call $~lib/array/Array#__uset local.get $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -2284,7 +2188,7 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=16 + i32.store offset=12 local.get $0 i32.const 0 local.get $1 @@ -2294,21 +2198,21 @@ i32.const 0 call $~lib/array/Array#__uset local.get $0 - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 9 i32.const 1776 call $~lib/rt/__newArray - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 10 i32.const 1808 call $~lib/rt/__newArray - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -2322,14 +2226,14 @@ i32.const 3 i32.const 1872 call $~lib/rt/__newArray - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 3 i32.const 1904 call $~lib/rt/__newArray - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -2338,11 +2242,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=16 + i32.store offset=12 local.get $0 i32.const 0 i32.const 1 @@ -2360,9 +2264,9 @@ call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 - i32.store offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer return @@ -2374,6 +2278,93 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner1 + block $folding-inner0 + block $invalid + block $infer-array/Ref + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $infer-array/Ref $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner1 $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end + return + end + unreachable + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $3 + if + local.get $3 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + ) + (func $~start + call $start:infer-array + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 2212 + i32.lt_s + if + i32.const 18624 + i32.const 18672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) diff --git a/tests/compiler/infer-array.untouched.wat b/tests/compiler/infer-array.untouched.wat index 5dc1b37f16..7c2233ced1 100644 --- a/tests/compiler/infer-array.untouched.wat +++ b/tests/compiler/infer-array.untouched.wat @@ -3868,101 +3868,419 @@ i32.const 1 call $~lib/rt/itcms/__link ) - (func $~lib/rt/__visit_globals (param $0 i32) + (func $start:infer-array + (local $0 i32) (local $1 i32) - i32.const 256 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 976 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 64 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + (local $2 f32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 208 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 352 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 32 + call $~lib/rt/__newArray + local.tee $1 + i32.store + i32.const 1 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + i32.const 4 + i32.const 512 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=4 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 5 + i32.const 560 + call $~lib/rt/__newArray + local.tee $1 + i32.store + i32.const 1 + drop i32.const 0 + i32.eqz drop - local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 + i32.const 1 + call $~lib/array/Array#__get + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 592 + i32.const 14 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + i32.const 4 + i32.const 640 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=4 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 2 + i32.const 6 + i32.const 688 + call $~lib/rt/__newArray + local.tee $1 + i32.store + i32.const 1 + drop local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 1 + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $infer-array/Ref#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $infer-array/Ref#constructor + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 8 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $4 + i32.store offset=12 + local.get $3 i32.const 0 - drop - local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + call $~lib/array/Array#__uset + local.get $3 + i32.const 1 local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 + call $~lib/array/Array#__uset + local.get $3 + local.tee $4 + i32.store offset=12 + i32.const 1 drop - local.get $0 - i32.load + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $infer-array/Ref#constructor + local.tee $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $infer-array/Ref#constructor + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 8 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 + i32.load offset=4 + local.tee $3 + i32.store offset=8 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load + local.get $4 + call $~lib/array/Array#__uset local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + i32.const 1 local.get $0 + call $~lib/array/Array#__uset local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + local.tee $3 + i32.store offset=8 i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $infer-array/Ref#constructor + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 8 + i32.const 0 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - local.set $2 - local.get $2 + local.tee $4 + i32.store offset=12 local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 + i32.const 0 + local.get $3 + call $~lib/array/Array#__uset + local.get $0 + i32.const 1 + i32.const 0 + call $~lib/array/Array#__uset + local.get $0 + local.tee $4 + i32.store offset=12 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 9 + i32.const 752 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=8 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 10 + i32.const 784 + call $~lib/rt/__newArray + local.tee $4 + i32.store offset=12 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 10 + i32.const 816 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 848 + call $~lib/rt/__newArray + local.tee $4 + i32.store offset=12 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 880 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=8 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 11 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $4 + i32.store offset=12 + local.get $3 + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 912 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__uset + local.get $3 + i32.const 1 + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 944 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__uset + local.get $3 + local.tee $4 + i32.store offset=12 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 256 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 976 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 64 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 i32.lt_u local.set $4 local.get $4 @@ -4195,338 +4513,6 @@ unreachable end ) - (func $start:infer-array - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 176 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 208 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 352 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 32 - call $~lib/rt/__newArray - local.tee $1 - i32.store - i32.const 1 - drop - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 3 - i32.const 4 - i32.const 512 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=4 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 5 - i32.const 560 - call $~lib/rt/__newArray - local.tee $1 - i32.store - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 1 - call $~lib/array/Array#__get - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 592 - i32.const 14 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 3 - i32.const 4 - i32.const 640 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=4 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 2 - i32.const 6 - i32.const 688 - call $~lib/rt/__newArray - local.tee $1 - i32.store - i32.const 1 - drop - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 1 - call $~lib/array/Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $infer-array/Ref#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $infer-array/Ref#constructor - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store offset=16 - local.get $3 - i32.const 0 - local.get $1 - call $~lib/array/Array#__uset - local.get $3 - i32.const 1 - local.get $0 - call $~lib/array/Array#__uset - local.get $3 - local.tee $4 - i32.store offset=16 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $infer-array/Ref#constructor - local.tee $4 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $infer-array/Ref#constructor - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=4 - local.tee $3 - i32.store offset=12 - local.get $1 - i32.const 0 - local.get $4 - call $~lib/array/Array#__uset - local.get $1 - i32.const 1 - local.get $0 - call $~lib/array/Array#__uset - local.get $1 - local.tee $3 - i32.store offset=12 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $infer-array/Ref#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.tee $4 - i32.store offset=16 - local.get $0 - i32.const 0 - local.get $3 - call $~lib/array/Array#__uset - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#__uset - local.get $0 - local.tee $4 - i32.store offset=16 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 9 - i32.const 752 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=12 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 10 - i32.const 784 - call $~lib/rt/__newArray - local.tee $4 - i32.store offset=16 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 10 - i32.const 816 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=4 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 848 - call $~lib/rt/__newArray - local.tee $4 - i32.store offset=16 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 880 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=12 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 11 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store offset=16 - local.get $3 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 912 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__uset - local.get $3 - i32.const 1 - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 944 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__uset - local.get $3 - local.tee $4 - i32.store offset=16 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) diff --git a/tests/compiler/infer-generic.optimized.wat b/tests/compiler/infer-generic.optimized.wat index 5a2d247893..e84415fad3 100644 --- a/tests/compiler/infer-generic.optimized.wat +++ b/tests/compiler/infer-generic.optimized.wat @@ -39,7 +39,6 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 f32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -54,14 +53,6 @@ global.get $~lib/memory/__stack_pointer i32.const 1200 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 1164 i32.load local.set $2 @@ -77,6 +68,7 @@ select i32.lt_s if + local.get $1 i32.const 1156 i32.load local.get $0 @@ -84,12 +76,6 @@ i32.shl i32.add f32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 1152 - i32.store - local.get $1 - local.get $4 local.get $0 i32.const 1152 i32.const 1200 @@ -104,10 +90,6 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -136,21 +118,6 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/infer-generic.untouched.wat b/tests/compiler/infer-generic.untouched.wat index 392df89865..3629c037c4 100644 --- a/tests/compiler/infer-generic.untouched.wat +++ b/tests/compiler/infer-generic.untouched.wat @@ -40,53 +40,12 @@ i32.const 0 end ) - (func $infer-generic/inferPlain (param $0 f32) (result f32) - local.get $0 - ) - (func $infer-generic/test1 (param $0 f32) (result f32) - local.get $0 - call $infer-generic/inferPlain - ) - (func $infer-generic/inferEncapsulatedClass (param $0 i32) (result i32) - local.get $0 - ) - (func $infer-generic/inferEncapsulatedFunction (param $0 i32) (result i32) - local.get $0 - ) - (func $infer-generic/inferEncapsulatedFunctionMixed (param $0 i32) (result i32) - local.get $0 - ) - (func $~start - call $start:infer-generic - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 16592 - i32.const 16640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $2 local.set $3 i32.const 0 @@ -119,11 +78,6 @@ f32.load local.get $4 local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -138,12 +92,50 @@ end end local.get $3 - local.set $8 + ) + (func $infer-generic/inferPlain (param $0 f32) (result f32) + local.get $0 + ) + (func $infer-generic/test1 (param $0 f32) (result f32) + local.get $0 + call $infer-generic/inferPlain + ) + (func $infer-generic/inferEncapsulatedClass (param $0 i32) (result i32) + local.get $0 + ) + (func $infer-generic/test2 (param $0 i32) (result i32) + local.get $0 + call $infer-generic/inferEncapsulatedClass + ) + (func $infer-generic/inferEncapsulatedFunction (param $0 i32) (result i32) + local.get $0 + ) + (func $infer-generic/test3 (param $0 i32) (result i32) + local.get $0 + call $infer-generic/inferEncapsulatedFunction + ) + (func $infer-generic/inferEncapsulatedFunctionMixed (param $0 i32) (result i32) + local.get $0 + ) + (func $infer-generic/test4 (param $0 i32) (result i32) + local.get $0 + call $infer-generic/inferEncapsulatedFunctionMixed + ) + (func $~start + call $start:infer-generic + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 16592 + i32.const 16640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) (func $start:infer-generic (local $0 i32) @@ -189,78 +181,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $infer-generic/test2 (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $infer-generic/inferEncapsulatedClass - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $infer-generic/test3 (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $infer-generic/inferEncapsulatedFunction - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $infer-generic/test4 (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $infer-generic/inferEncapsulatedFunctionMixed - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $export:infer-generic/test2 (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/inlining.optimized.wat b/tests/compiler/inlining.optimized.wat index a231bf8227..57932b0813 100644 --- a/tests/compiler/inlining.optimized.wat +++ b/tests/compiler/inlining.optimized.wat @@ -1762,9 +1762,6 @@ i32.const 0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.eqz if @@ -1887,13 +1884,13 @@ ) (func $~start global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store i32.const 2 i32.const 1104 i32.load @@ -1912,10 +1909,7 @@ i32.const 123 i32.store global.get $~lib/memory/__stack_pointer - i32.const 123 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer memory.size diff --git a/tests/compiler/inlining.untouched.wat b/tests/compiler/inlining.untouched.wat index 889e837697..70eeba686f 100644 --- a/tests/compiler/inlining.untouched.wat +++ b/tests/compiler/inlining.untouched.wat @@ -62,13 +62,13 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store f32.const -1 local.set $0 f64.const -2 @@ -220,10 +220,8 @@ i32.const 123 local.tee $7 i32.store - global.get $~lib/memory/__stack_pointer local.get $7 - local.tee $4 - i32.store offset=4 + local.set $4 i32.const 43 local.set $5 i32.const 3 @@ -241,7 +239,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2617,10 +2615,8 @@ i32.const 0 call $inlining/Bar#set:e global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $3 - i32.store offset=4 + local.set $3 i32.const 2 local.set $2 local.get $3 diff --git a/tests/compiler/instanceof-class.optimized.wat b/tests/compiler/instanceof-class.optimized.wat index 0ee49023d6..de75f9c667 100644 --- a/tests/compiler/instanceof-class.optimized.wat +++ b/tests/compiler/instanceof-class.optimized.wat @@ -1449,22 +1449,19 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1489,28 +1486,25 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $instanceof-class/a global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1535,7 +1529,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/instanceof-class.untouched.wat b/tests/compiler/instanceof-class.untouched.wat index 527b2b1efc..a8a91cd9cd 100644 --- a/tests/compiler/instanceof-class.untouched.wat +++ b/tests/compiler/instanceof-class.untouched.wat @@ -2550,83 +2550,68 @@ unreachable end ) - (func $instanceof-class/Child#constructor (param $0 i32) (result i32) + (func $instanceof-class/Parent#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $instanceof-class/Parent#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $instanceof-class/Child#constructor (param $0 i32) (result i32) + (func $instanceof-class/Child#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $instanceof-class/Parent#constructor + call $instanceof-class/Parent#constructor local.tee $0 i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $instanceof-class/Parent#constructor (param $0 i32) (result i32) + (func $instanceof-class/Parent#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2641,7 +2626,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -2654,7 +2639,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $instanceof-class/Parent#constructor (param $0 i32) (result i32) + (func $instanceof-class/Child#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2669,11 +2654,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $instanceof-class/Parent#constructor + local.tee $0 + i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/managed-cast.optimized.wat b/tests/compiler/managed-cast.optimized.wat index 497044dd95..fc5bd74fe3 100644 --- a/tests/compiler/managed-cast.optimized.wat +++ b/tests/compiler/managed-cast.optimized.wat @@ -1,8 +1,8 @@ (module (type $none_=>_none (func)) (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -1496,78 +1496,6 @@ unreachable end ) - (func $managed-cast/Cat#constructor (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $managed-cast/testDowncastToNullable (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $start:managed-cast (local $0 i32) (local $1 i32) @@ -1601,37 +1529,19 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + i32.store local.get $0 i32.eqz if @@ -1646,7 +1556,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1654,31 +1564,24 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $0 - call $managed-cast/testDowncastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store - local.get $0 - call $managed-cast/testDowncastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + i32.store local.get $0 call $~lib/rt/__instanceof i32.eqz @@ -1694,7 +1597,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1712,9 +1615,6 @@ i64.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.eqz if i32.const 1456 @@ -1750,20 +1650,14 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/rt/__instanceof i32.eqz @@ -1776,15 +1670,9 @@ unreachable end local.get $0 - i32.store offset=4 - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - end + i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1793,20 +1681,14 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/rt/__instanceof i32.eqz @@ -1819,15 +1701,9 @@ unreachable end local.get $0 - i32.store offset=4 - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - end + i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 18060 @@ -1870,4 +1746,50 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $managed-cast/Cat#constructor (result i32) + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/managed-cast.untouched.wat b/tests/compiler/managed-cast.untouched.wat index 347ec7dcc1..b96559a6cf 100644 --- a/tests/compiler/managed-cast.untouched.wat +++ b/tests/compiler/managed-cast.untouched.wat @@ -2357,6 +2357,30 @@ (func $managed-cast/Animal#tame (param $0 i32) nop ) + (func $managed-cast/testDowncast (param $0 i32) + local.get $0 + call $managed-cast/Animal#tame + ) + (func $managed-cast/testDowncastToNullable (param $0 i32) + (local $1 i32) + local.get $0 + local.set $1 + local.get $1 + if + local.get $1 + call $managed-cast/Animal#tame + end + ) + (func $managed-cast/testDowncastFromToNullable (param $0 i32) + (local $1 i32) + local.get $0 + local.set $1 + local.get $1 + if + local.get $1 + call $managed-cast/Animal#tame + end + ) (func $~lib/rt/__instanceof (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -2400,6 +2424,82 @@ (func $managed-cast/Cat#meow (param $0 i32) nop ) + (func $managed-cast/testUpcastToNullable (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $1 + i32.const 3 + call $~lib/rt/__instanceof + if (result i32) + local.get $1 + else + i32.const 560 + i32.const 496 + i32.const 41 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.tee $2 + i32.store + local.get $2 + if + local.get $2 + call $managed-cast/Cat#meow + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $managed-cast/testUpcastFromToNullable (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $1 + i32.const 3 + call $~lib/rt/__instanceof + if (result i32) + local.get $1 + else + i32.const 560 + i32.const 496 + i32.const 47 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.tee $2 + i32.store + local.get $2 + if + local.get $2 + call $managed-cast/Cat#meow + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/itcms/__collect (local $0 i32) i32.const 0 @@ -2519,46 +2619,9 @@ unreachable end ) - (func $managed-cast/Cat#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $managed-cast/Animal#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $managed-cast/testDowncast (param $0 i32) + (func $managed-cast/testDowncastFromNullable (param $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2568,33 +2631,7 @@ i32.const 0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $managed-cast/Animal#tame - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $managed-cast/testDowncastFromNullable (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 if (result i32) local.get $1 else @@ -2612,67 +2649,7 @@ local.get $2 call $managed-cast/Animal#tame global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $managed-cast/testDowncastToNullable (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - if - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $managed-cast/Animal#tame - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $managed-cast/testDowncastFromToNullable (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - if - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $managed-cast/Animal#tame - end - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2680,18 +2657,15 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 i32.const 3 call $~lib/rt/__instanceof if (result i32) @@ -2711,7 +2685,7 @@ local.get $2 call $managed-cast/Cat#meow global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2727,11 +2701,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 - i32.store offset=4 - local.get $1 if (result i32) local.get $1 else @@ -2768,106 +2739,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $managed-cast/testUpcastToNullable (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.const 3 - call $~lib/rt/__instanceof - if (result i32) - local.get $1 - else - i32.const 560 - i32.const 496 - i32.const 41 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.tee $2 - i32.store offset=4 - local.get $2 - if - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $managed-cast/Cat#meow - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $managed-cast/testUpcastFromToNullable (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.const 3 - call $~lib/rt/__instanceof - if (result i32) - local.get $1 - else - i32.const 560 - i32.const 496 - i32.const 47 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.tee $2 - i32.store offset=4 - local.get $2 - if - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $managed-cast/Cat#meow - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $start:managed-cast (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2995,4 +2866,37 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $managed-cast/Cat#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $managed-cast/Animal#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/new.optimized.wat b/tests/compiler/new.optimized.wat index 63fb49d4a2..72c41d4dec 100644 --- a/tests/compiler/new.optimized.wat +++ b/tests/compiler/new.optimized.wat @@ -1579,35 +1579,6 @@ unreachable end ) - (func $new/GenExt#constructor (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $new/Gen#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $new/Ref#constructor (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -1674,4 +1645,30 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) + (func $new/GenExt#constructor (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $new/Gen#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/new.untouched.wat b/tests/compiler/new.untouched.wat index cfeabe71b7..558fe96bc4 100644 --- a/tests/compiler/new.untouched.wat +++ b/tests/compiler/new.untouched.wat @@ -2478,44 +2478,6 @@ unreachable end ) - (func $new/GenExt#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $new/Gen#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $start:new (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2686,4 +2648,37 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $new/GenExt#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $new/Gen#constructor + local.tee $0 + i32.store + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/number.optimized.wat b/tests/compiler/number.optimized.wat index 6b8d08a21b..9395112a60 100644 --- a/tests/compiler/number.optimized.wat +++ b/tests/compiler/number.optimized.wat @@ -1892,6 +1892,122 @@ end local.get $0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/util/number/genDigits (param $0 i64) (param $1 i32) (param $2 i64) (param $3 i32) (param $4 i64) (result i32) (local $5 i32) (local $6 i64) @@ -2891,152 +3007,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:number (local $0 i32) (local $1 i32) diff --git a/tests/compiler/number.untouched.wat b/tests/compiler/number.untouched.wat index 00f6dc0a81..0eb745e636 100644 --- a/tests/compiler/number.untouched.wat +++ b/tests/compiler/number.untouched.wat @@ -2937,6 +2937,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) @@ -5575,101 +5617,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:number (local $0 i32) (local $1 f32) diff --git a/tests/compiler/object-literal.optimized.wat b/tests/compiler/object-literal.optimized.wat index cac26c87f2..f38c58628e 100644 --- a/tests/compiler/object-literal.optimized.wat +++ b/tests/compiler/object-literal.optimized.wat @@ -1811,6 +1811,122 @@ call $~lib/memory/memory.fill local.get $1 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -2298,247 +2414,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String#substring (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 0 - i32.const 1052 - i32.load - i32.const 1 - i32.shr_u - local.tee $0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.tee $1 - i32.const 5 - local.get $0 - local.get $0 - i32.const 5 - i32.gt_s - select - local.tee $2 - local.get $1 - local.get $2 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $3 - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $1 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1568 - return - end - i32.const 0 - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.eq - local.get $1 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1056 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store offset=4 - local.get $0 - local.get $1 - i32.const 1056 - i32.add - local.get $2 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $object-literal/testOmittedFoo (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3209,4 +3084,96 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String#substring (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + i32.const 1052 + i32.load + i32.const 1 + i32.shr_u + local.tee $0 + local.get $0 + i32.const 0 + i32.gt_s + select + local.tee $1 + i32.const 5 + local.get $0 + local.get $0 + i32.const 5 + i32.gt_s + select + local.tee $2 + local.get $1 + local.get $2 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $3 + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $1 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1568 + return + end + i32.const 0 + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.eq + local.get $1 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1056 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $1 + i32.const 1056 + i32.add + local.get $2 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/object-literal.untouched.wat b/tests/compiler/object-literal.untouched.wat index 8a65597488..37a5c0a3bf 100644 --- a/tests/compiler/object-literal.untouched.wat +++ b/tests/compiler/object-literal.untouched.wat @@ -2559,6 +2559,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $object-literal/Unmanaged#set:bar (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4418,101 +4460,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $object-literal/testManaged (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4564,144 +4511,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 - local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 - local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 - i32.eqz - if - i32.const 544 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $8 - i32.eqz - if (result i32) - local.get $9 - local.get $3 - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 - local.get $0 - local.get $8 - i32.add - local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) (func $object-literal/testUnmanaged (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -5238,6 +5047,139 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $8 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 + i32.eqz + if + i32.const 544 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 + local.get $3 + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store + local.get $11 + local.get $0 + local.get $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + ) (func $object-literal/OmittedTypes#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/possibly-null.optimized.wat b/tests/compiler/possibly-null.optimized.wat index 8458e2e69e..0f3019966d 100644 --- a/tests/compiler/possibly-null.optimized.wat +++ b/tests/compiler/possibly-null.optimized.wat @@ -19,11 +19,11 @@ (export "testWhile" (func $export:possibly-null/testWhile)) (export "testWhile2" (func $export:possibly-null/testWhile2)) (export "testWhile3" (func $export:possibly-null/testWhile3)) - (export "testLogicalAnd" (func $export:possibly-null/testLogicalAnd)) - (export "testLogicalOr" (func $export:possibly-null/testLogicalAnd)) + (export "testLogicalAnd" (func $export:possibly-null/testTrue)) + (export "testLogicalOr" (func $export:possibly-null/testTrue)) (export "testLogicalAndMulti" (func $export:possibly-null/testLogicalAndMulti)) (export "testLogicalOrMulti" (func $export:possibly-null/testLogicalAndMulti)) - (export "testAssign" (func $export:possibly-null/testAssign)) + (export "testAssign" (func $export:possibly-null/testLogicalAndMulti)) (export "testNeverNull" (func $export:possibly-null/testTrue)) (func $~stack_check global.get $~lib/memory/__stack_pointer @@ -86,29 +86,15 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store loop $while-continue|0 local.get $0 if - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $0 - i32.store + local.set $0 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -125,69 +111,22 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store loop $while-continue|0 local.get $0 if local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.set $0 - end + local.get $0 + local.get $1 + select + local.set $0 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $export:possibly-null/testLogicalAnd (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $export:possibly-null/testLogicalAndMulti (param $0 i32) (param $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -205,36 +144,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $export:possibly-null/testAssign (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) ) diff --git a/tests/compiler/possibly-null.untouched.wat b/tests/compiler/possibly-null.untouched.wat index 07c959e64c..7a401766db 100644 --- a/tests/compiler/possibly-null.untouched.wat +++ b/tests/compiler/possibly-null.untouched.wat @@ -138,14 +138,6 @@ ) (func $possibly-null/testWhile2 (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store loop $while-continue|0 local.get $0 local.set $2 @@ -153,31 +145,17 @@ if i32.const 0 drop - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $0 - i32.store + local.set $0 i32.const 1 i32.eqz drop br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $possibly-null/testWhile3 (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store loop $while-continue|0 local.get $0 local.set $2 @@ -187,24 +165,41 @@ drop local.get $1 if - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $0 - i32.store + local.set $0 i32.const 0 drop end br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $possibly-null/requireNonNull (param $0 i32) (result i32) local.get $0 ) + (func $possibly-null/testLogicalAnd (param $0 i32) + local.get $0 + if (result i32) + local.get $0 + call $possibly-null/requireNonNull + else + i32.const 0 + end + drop + ) + (func $possibly-null/testLogicalOr (param $0 i32) + local.get $0 + i32.eqz + if (result i32) + i32.const 1 + else + local.get $0 + call $possibly-null/requireNonNull + i32.const 0 + i32.ne + end + drop + ) (func $possibly-null/testLogicalAndMulti (param $0 i32) (param $1 i32) local.get $0 if (result i32) @@ -250,24 +245,10 @@ end ) (func $possibly-null/testAssign (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $0 - i32.store + local.set $0 i32.const 0 drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $possibly-null/testNeverNull (param $0 i32) local.get $0 @@ -289,65 +270,6 @@ unreachable end ) - (func $possibly-null/testLogicalAnd (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - if (result i32) - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $possibly-null/requireNonNull - else - i32.const 0 - end - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $possibly-null/testLogicalOr (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if (result i32) - i32.const 1 - else - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $possibly-null/requireNonNull - i32.const 0 - i32.ne - end - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $export:possibly-null/testTrue (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/resolve-access.optimized.wat b/tests/compiler/resolve-access.optimized.wat index 05e8e9bc64..e8761a4ae4 100644 --- a/tests/compiler/resolve-access.optimized.wat +++ b/tests/compiler/resolve-access.optimized.wat @@ -2040,6 +2040,133 @@ unreachable end ) + (func $~lib/util/number/utoa64 (param $0 i64) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1728 + return + end + local.get $0 + i64.const 4294967295 + i64.le_u + if + local.get $0 + i32.wrap_i64 + local.tee $3 + call $~lib/util/number/decimalCount32 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/number/utoa_dec_simple + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000 + i64.lt_u + select + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000000 + i64.lt_u + select + local.get $0 + i64.const 1000000000000000 + i64.lt_u + select + local.tee $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + loop $do-continue|0 + local.get $2 + local.get $1 + i32.const 1 + i32.sub + local.tee $1 + i32.const 1 + i32.shl + i32.add + local.get $0 + i64.const 10 + i64.rem_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store16 + local.get $0 + i64.const 10 + i64.div_u + local.tee $0 + i64.const 0 + i64.ne + br_if $do-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $resolve-access/arrayAccess (result i32) (local $0 i32) (local $1 i32) @@ -2048,13 +2175,13 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2146,9 +2273,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=12 i32.eqz @@ -2165,32 +2289,79 @@ i64.load call $~lib/util/number/utoa64 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $resolve-access/propertyAccess (result i32) + (func $resolve-access/Container#constructor (result i32) (local $0 i32) - (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $resolve-access/fieldAccess (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer call $resolve-access/Container#constructor local.tee $0 i32.store local.get $0 i64.const 1 i64.store + local.get $0 + i64.load + call $~lib/util/number/utoa64 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $resolve-access/propertyAccess (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + call $resolve-access/Container#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i64.const 1 + i64.store local.get $0 i64.load i32.wrap_i64 @@ -2236,186 +2407,9 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/util/number/utoa64 (param $0 i64) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1728 - return - end - local.get $0 - i64.const 4294967295 - i64.le_u - if - local.get $0 - i32.wrap_i64 - local.tee $3 - call $~lib/util/number/decimalCount32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $3 - local.get $1 - call $~lib/util/number/utoa_dec_simple - else - global.get $~lib/memory/__stack_pointer - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000 - i64.lt_u - select - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000000 - i64.lt_u - select - local.get $0 - i64.const 1000000000000000 - i64.lt_u - select - local.tee $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - loop $do-continue|0 - local.get $2 - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - i64.const 10 - i64.rem_u - i32.wrap_i64 - i32.const 48 - i32.add - i32.store16 - local.get $0 - i64.const 10 - i64.div_u - local.tee $0 - i64.const 0 - i64.ne - br_if $do-continue|0 - end - end - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $resolve-access/Container#constructor (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $resolve-access/fieldAccess (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - call $resolve-access/Container#constructor - local.tee $0 - i32.store - local.get $0 - i64.const 1 - i64.store local.get $0 - i64.load - call $~lib/util/number/utoa64 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) ) diff --git a/tests/compiler/resolve-access.untouched.wat b/tests/compiler/resolve-access.untouched.wat index 87ef53dbe2..d435639121 100644 --- a/tests/compiler/resolve-access.untouched.wat +++ b/tests/compiler/resolve-access.untouched.wat @@ -4472,78 +4472,6 @@ unreachable end ) - (func $resolve-access/arrayAccess (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 3 - i32.const 3 - i32.const 32 - call $~lib/rt/__newArray - local.tee $1 - i32.store - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/array/Array#__get - i32.const 10 - call $~lib/number/U64#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $resolve-access/propertyAccess (result i32) - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $resolve-access/Container#constructor - local.tee $0 - i32.store - local.get $0 - i64.const 1 - call $resolve-access/Container#set:foo - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $resolve-access/Container#toU32 - i32.const 10 - call $~lib/number/U32#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -4774,6 +4702,38 @@ global.set $~lib/memory/__stack_pointer local.get $9 ) + (func $resolve-access/arrayAccess (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 3 + i32.const 3 + i32.const 32 + call $~lib/rt/__newArray + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 10 + call $~lib/number/U64#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $resolve-access/Container#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -4976,4 +4936,34 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $resolve-access/propertyAccess (result i32) + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $resolve-access/Container#constructor + local.tee $0 + i32.store + local.get $0 + i64.const 1 + call $resolve-access/Container#set:foo + local.get $0 + call $resolve-access/Container#toU32 + i32.const 10 + call $~lib/number/U32#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) ) diff --git a/tests/compiler/resolve-binary.optimized.wat b/tests/compiler/resolve-binary.optimized.wat index a8265cd5d7..c95f4d6be4 100644 --- a/tests/compiler/resolve-binary.optimized.wat +++ b/tests/compiler/resolve-binary.optimized.wat @@ -105,6 +105,122 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 20060)) (export "memory" (memory $0)) (start $~start) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) local.get $0 i32.const 10 @@ -2923,152 +3039,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-binary (local $0 i32) (local $1 i32) diff --git a/tests/compiler/resolve-binary.untouched.wat b/tests/compiler/resolve-binary.untouched.wat index 26da053160..1e357f06f6 100644 --- a/tests/compiler/resolve-binary.untouched.wat +++ b/tests/compiler/resolve-binary.untouched.wat @@ -220,6 +220,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) local.get $0 i32.const 100000 @@ -6798,101 +6840,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:resolve-binary (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-elementaccess.optimized.wat b/tests/compiler/resolve-elementaccess.optimized.wat index 4724411859..6913350711 100644 --- a/tests/compiler/resolve-elementaccess.optimized.wat +++ b/tests/compiler/resolve-elementaccess.optimized.wat @@ -3118,6 +3118,122 @@ end local.get $2 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 @@ -3256,157 +3372,11 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-elementaccess (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3416,9 +3386,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 memory.size i32.const 16 i32.shl @@ -3437,13 +3404,13 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 @@ -3452,15 +3419,12 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3540,12 +3504,9 @@ local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/arr local.tee $1 - i32.store offset=16 + i32.store offset=8 local.get $0 i32.const 0 local.get $1 @@ -3554,9 +3515,6 @@ f32.const 10 f32.add call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -3584,13 +3542,13 @@ global.get $resolve-elementaccess/arr local.tee $0 i32.store + local.get $0 global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/arr - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 10 @@ -3614,13 +3572,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 @@ -3628,17 +3586,14 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if @@ -3651,21 +3606,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3745,12 +3697,9 @@ local.tee $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/buf local.tee $1 - i32.store offset=16 + i32.store offset=8 local.get $0 i32.const 0 local.get $1 @@ -3759,9 +3708,6 @@ i32.const 10 i32.add call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -3789,13 +3735,13 @@ global.get $resolve-elementaccess/buf local.tee $0 i32.store + local.get $0 global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/buf - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 10 @@ -3819,7 +3765,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/resolve-elementaccess.untouched.wat b/tests/compiler/resolve-elementaccess.untouched.wat index 8fa25ef5a7..af6fe8d1b0 100644 --- a/tests/compiler/resolve-elementaccess.untouched.wat +++ b/tests/compiler/resolve-elementaccess.untouched.wat @@ -5346,6 +5346,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 @@ -5728,226 +5770,12 @@ unreachable end ) - (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $resolve-elementaccess/Buffer#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $start:resolve-elementaccess (local $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5957,9 +5785,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 memory.size i32.const 16 i32.shl @@ -6066,18 +5891,13 @@ local.tee $0 i32.store offset=12 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 i32.const 0 local.tee $1 global.get $resolve-elementaccess/arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=16 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -6085,11 +5905,6 @@ f32.add call $~lib/typedarray/Float32Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $1 call $~lib/typedarray/Float32Array#__get i32.const 0 @@ -6241,18 +6056,13 @@ local.tee $0 i32.store offset=12 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 i32.const 0 local.tee $1 global.get $resolve-elementaccess/buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=16 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -6260,11 +6070,6 @@ i32.add call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 local.get $1 call $~lib/typedarray/Uint8Array#__get i32.const 10 @@ -6328,7 +6133,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -6405,6 +6210,41 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/util/number/dtoa (param $0 f64) (result i32) (local $1 i32) (local $2 i32) @@ -6488,6 +6328,75 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $resolve-elementaccess/Buffer#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) diff --git a/tests/compiler/resolve-function-expression.optimized.wat b/tests/compiler/resolve-function-expression.optimized.wat index 42c2cb0a6f..4351ef364f 100644 --- a/tests/compiler/resolve-function-expression.optimized.wat +++ b/tests/compiler/resolve-function-expression.optimized.wat @@ -1804,151 +1804,12 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.const 1952 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $0 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1952 - i32.store - local.get $1 - i32.const 1948 - i32.load - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1952 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - i32.const 1952 - local.set $3 - local.get $0 - local.tee $2 - i32.const 7 - i32.and - i32.eqz - i32.const 0 - local.get $1 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $2 - i64.load - local.get $3 - i64.load - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 4 - i32.sub - local.tee $1 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $2 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $0 - local.get $4 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-function-expression (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2024,7 +1885,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1424 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/number/itoa32 end global.get $~lib/memory/__stack_pointer @@ -2035,58 +1896,58 @@ local.get $0 i32.const 31 i32.shr_u - local.tee $2 + local.tee $1 select - local.tee $0 + local.tee $2 i32.const 10 i32.ge_u i32.const 1 i32.add - local.get $0 + local.get $2 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $0 + local.get $2 i32.const 1000 i32.ge_u i32.add - local.get $0 + local.get $2 i32.const 100 i32.lt_u select - local.get $0 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add - local.get $0 + local.get $2 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $0 + local.get $2 i32.const 100000000 i32.ge_u i32.add - local.get $0 + local.get $2 i32.const 10000000 i32.lt_u select - local.get $0 + local.get $2 i32.const 100000 i32.lt_u select - local.get $2 + local.get $1 i32.add local.tee $3 i32.const 1 i32.shl call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store loop $do-continue|0 - local.get $1 + local.get $0 local.get $3 i32.const 1 i32.sub @@ -2094,21 +1955,21 @@ i32.const 1 i32.shl i32.add - local.get $0 + local.get $2 i32.const 10 i32.rem_u i32.const 48 i32.add i32.store16 - local.get $0 + local.get $2 i32.const 10 i32.div_u - local.tee $0 + local.tee $2 br_if $do-continue|0 end - local.get $2 + local.get $1 if - local.get $1 + local.get $0 i32.const 45 i32.store16 end @@ -2118,13 +1979,114 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 1952 i32.store offset=4 - local.get $1 - call $~lib/string/String.__eq + block $__inlined_func$~lib/string/String.__eq (result i32) + i32.const 1 + local.get $0 + i32.const 1952 + i32.eq + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $0 + i32.eqz + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + i32.const 1948 + i32.load + i32.const 1 + i32.shr_u + i32.ne + br_if $__inlined_func$~lib/string/String.__eq + drop + block $__inlined_func$~lib/util/string/compareImpl (result i32) + i32.const 1952 + local.set $3 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + i32.eqz + i32.const 0 + local.get $1 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|01 + local.get $2 + i64.load + local.get $3 + i64.load + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|01 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + local.get $3 + i32.load16_u + local.tee $1 + local.get $2 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $4 + local.get $1 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + end i32.eqz if i32.const 0 diff --git a/tests/compiler/resolve-function-expression.untouched.wat b/tests/compiler/resolve-function-expression.untouched.wat index 923d5da53b..da3605074d 100644 --- a/tests/compiler/resolve-function-expression.untouched.wat +++ b/tests/compiler/resolve-function-expression.untouched.wat @@ -2920,6 +2920,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) i32.const 624 @@ -3001,101 +3043,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:resolve-function-expression (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-propertyaccess.optimized.wat b/tests/compiler/resolve-propertyaccess.optimized.wat index 27c411ef55..e182317432 100644 --- a/tests/compiler/resolve-propertyaccess.optimized.wat +++ b/tests/compiler/resolve-propertyaccess.optimized.wat @@ -1873,6 +1873,122 @@ end local.get $0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $resolve-propertyaccess/Class @@ -1918,157 +2034,11 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-propertyaccess (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2076,8 +2046,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 memory.size i32.const 16 i32.shl @@ -2332,14 +2302,14 @@ local.get $0 i32.load call $~lib/number/I32#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 2176 i32.store offset=4 - local.get $1 + local.get $0 i32.const 2176 call $~lib/string/String.__eq i32.eqz @@ -2351,9 +2321,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 i32.const 8 call $~lib/number/I32#toString local.set $0 @@ -2376,7 +2343,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/resolve-propertyaccess.untouched.wat b/tests/compiler/resolve-propertyaccess.untouched.wat index 166b3a73ba..d250136ea7 100644 --- a/tests/compiler/resolve-propertyaccess.untouched.wat +++ b/tests/compiler/resolve-propertyaccess.untouched.wat @@ -2920,6 +2920,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $resolve-propertyaccess/Class.get:staticProperty (result i32) i32.const 7 ) @@ -2998,106 +3040,11 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:resolve-propertyaccess (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3105,8 +3052,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 memory.size i32.const 16 i32.shl @@ -3395,11 +3342,6 @@ unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 call $resolve-propertyaccess/Class#get:instanceProperty i32.const 10 call $~lib/number/I32#toString @@ -3425,7 +3367,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/resolve-ternary.optimized.wat b/tests/compiler/resolve-ternary.optimized.wat index 6c837bdc49..643d13154e 100644 --- a/tests/compiler/resolve-ternary.optimized.wat +++ b/tests/compiler/resolve-ternary.optimized.wat @@ -1825,6 +1825,122 @@ br_if $do-continue|0 end ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/util/number/genDigits (param $0 i64) (param $1 i32) (param $2 i64) (param $3 i32) (param $4 i64) (result i32) (local $5 i32) (local $6 i64) @@ -2800,152 +2916,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-ternary (local $0 i32) (local $1 i32) diff --git a/tests/compiler/resolve-ternary.untouched.wat b/tests/compiler/resolve-ternary.untouched.wat index ea08a25a3b..236ec1958e 100644 --- a/tests/compiler/resolve-ternary.untouched.wat +++ b/tests/compiler/resolve-ternary.untouched.wat @@ -2928,6 +2928,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) (local $8 i64) @@ -5537,101 +5579,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:resolve-ternary (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-unary.optimized.wat b/tests/compiler/resolve-unary.optimized.wat index c845f133c8..cc80dd20f9 100644 --- a/tests/compiler/resolve-unary.optimized.wat +++ b/tests/compiler/resolve-unary.optimized.wat @@ -1893,6 +1893,122 @@ end local.get $0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $resolve-unary/Bar @@ -1941,152 +2057,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:resolve-unary (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2493,9 +2463,6 @@ global.get $resolve-unary/foo local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 global.set $resolve-unary/foo global.get $~lib/memory/__stack_pointer @@ -2516,9 +2483,6 @@ global.get $resolve-unary/foo local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 global.set $resolve-unary/foo global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-unary.untouched.wat b/tests/compiler/resolve-unary.untouched.wat index d3b809a21d..29898b7da9 100644 --- a/tests/compiler/resolve-unary.untouched.wat +++ b/tests/compiler/resolve-unary.untouched.wat @@ -2917,6 +2917,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/number/Bool#toString (param $0 i32) (param $1 i32) (result i32) local.get $0 if (result i32) @@ -3051,101 +3093,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:resolve-unary (local $0 i32) (local $1 i32) @@ -3615,11 +3562,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 call $resolve-unary/Foo#postfix_inc global.set $resolve-unary/foo local.get $0 @@ -3645,11 +3587,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 call $resolve-unary/Foo#postfix_dec global.set $resolve-unary/foo local.get $0 diff --git a/tests/compiler/rt/instanceof.optimized.wat b/tests/compiler/rt/instanceof.optimized.wat index 91970978eb..448cacaf17 100644 --- a/tests/compiler/rt/instanceof.optimized.wat +++ b/tests/compiler/rt/instanceof.optimized.wat @@ -1887,68 +1887,61 @@ unreachable end ) - (func $rt/instanceof/Cat#constructor (param $0 i32) (result i32) + (func $rt/instanceof/Animal#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $rt/instanceof/Animal#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $rt/instanceof/BlackCat#constructor (result i32) - (local $0 i32) + (func $rt/instanceof/Cat#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - call $rt/instanceof/Cat#constructor + call $rt/instanceof/Animal#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $rt/instanceof/Animal#constructor (param $0 i32) (result i32) + (func $rt/instanceof/BlackCat#constructor (result i32) + (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1957,15 +1950,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end + call $rt/instanceof/Cat#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/rt/instanceof.untouched.wat b/tests/compiler/rt/instanceof.untouched.wat index b47d0a1e3e..6ad476960b 100644 --- a/tests/compiler/rt/instanceof.untouched.wat +++ b/tests/compiler/rt/instanceof.untouched.wat @@ -3077,83 +3077,68 @@ unreachable end ) - (func $rt/instanceof/Cat#constructor (param $0 i32) (result i32) + (func $rt/instanceof/Animal#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 3 call $~lib/rt/itcms/__new local.tee $0 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $rt/instanceof/Animal#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $rt/instanceof/BlackCat#constructor (param $0 i32) (result i32) + (func $rt/instanceof/Cat#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $rt/instanceof/Cat#constructor + call $rt/instanceof/Animal#constructor local.tee $0 i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $rt/instanceof/Animal#constructor (param $0 i32) (result i32) + (func $rt/instanceof/BlackCat#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3168,11 +3153,16 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $rt/instanceof/Cat#constructor + local.tee $0 + i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std-wasi/console.optimized.wat b/tests/compiler/std-wasi/console.optimized.wat index b4148eddc0..48cfbddc72 100644 --- a/tests/compiler/std-wasi/console.optimized.wat +++ b/tests/compiler/std-wasi/console.optimized.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_none (func (param i32))) + (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) @@ -486,6 +486,131 @@ i32.lt_u select ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + i32.const 0 + i32.const 12 + i32.store + i32.const 12 + i64.const 9071471065260641 + i64.store + local.get $0 + if (result i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 19 + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 19 + i32.add + else + i32.const 19 + end + local.tee $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + if + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $4 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $4 + i32.add + local.set $4 + end + local.get $4 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.tee $0 + local.get $4 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $2 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $2 + i32.const 10 + i32.div_u + local.tee $2 + br_if $do-continue|0 + end + local.get $0 + local.get $4 + i32.add + local.tee $0 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.tee $1 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|1 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $3 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $3 + i32.const 10 + i32.div_u + local.tee $3 + br_if $do-continue|1 + end + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 2601 + i32.store16 + i32.const 4 + local.get $0 + i32.const 10 + i32.sub + i32.store + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/bindings/wasi_snapshot_preview1/errnoToString (param $0 i32) (result i32) block $break|0 block $case76|0 @@ -1822,78 +1947,309 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) - local.get $0 - local.get $0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - ) - (func $~lib/rt/itcms/visitRoots - (local $0 i32) - (local $1 i32) - global.get $~lib/console/timers - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 5008 - call $~lib/rt/itcms/__visit - i32.const 5152 - call $~lib/rt/itcms/__visit - i32.const 5584 - call $~lib/rt/itcms/__visit - i32.const 4288 - call $~lib/rt/itcms/__visit - i32.const 5920 - call $~lib/rt/itcms/__visit - global.get $~lib/rt/itcms/pinSpace - local.tee $1 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - loop $while-continue|0 - local.get $0 - local.get $1 - i32.ne - if - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 4880 - i32.const 159 - i32.const 16 - call $~lib/wasi/index/abort - unreachable + (func $~lib/process/writeString (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const -1 + local.set $4 + i32.const -1 + local.set $5 + i32.const -1 + local.set $2 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + end + local.get $1 + i32.load16_u offset=6 + local.tee $2 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $1 + i32.load16_u offset=4 + local.tee $5 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $1 + i32.load16_u offset=2 + local.tee $4 + i32.const 128 + i32.ge_u + br_if $break|0 end - local.get $0 - i32.const 20 + local.get $1 + i32.load16_u + local.tee $3 + i32.const 128 + i32.ge_u + br_if $break|0 + i32.const 1136 + i32.const 1144 + i32.store + i32.const 1140 + local.get $4 + i32.const -1 + i32.ne + i32.const 1 i32.add - call $~lib/rt/__visit_members - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - br $while-continue|0 - end - end - ) - (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=4 - i32.const -4 + local.get $5 + i32.const -1 + i32.ne + i32.add + local.get $2 + i32.const -1 + i32.ne + i32.add + i32.store + i32.const 1144 + local.get $3 + local.get $4 + i32.const 8 + i32.shl + i32.or + local.get $5 + i32.const 16 + i32.shl + i32.or + local.get $2 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $0 + i32.const 1136 + i32.const 1 + i32.const 1148 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4160 + i32.const 178 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + end + return + end + i32.const 0 + local.set $3 + local.get $1 + local.tee $2 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.add + local.set $4 + loop $while-continue|0 + local.get $2 + local.get $4 + i32.lt_u + if + local.get $2 + i32.load16_u + local.tee $5 + i32.const 128 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.add + else + local.get $5 + i32.const 2048 + i32.lt_u + if (result i32) + local.get $3 + i32.const 2 + i32.add + else + local.get $4 + local.get $2 + i32.const 2 + i32.add + i32.gt_u + i32.const 0 + local.get $5 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + select + if + local.get $2 + i32.load16_u offset=2 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $3 + i32.const 3 + i32.add + end + end + local.set $3 + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $2 + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $2 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $3 + i32.ne + if + i32.const 0 + i32.const 4160 + i32.const 184 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1136 + local.get $2 + i32.store + i32.const 1140 + local.get $3 + i32.store + local.get $0 + i32.const 1136 + i32.const 1 + i32.const 1144 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $0 + local.get $2 + call $~lib/rt/tlsf/__free + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4160 + i32.const 189 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + local.get $0 + ) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + global.get $~lib/console/timers + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 5008 + call $~lib/rt/itcms/__visit + i32.const 5152 + call $~lib/rt/itcms/__visit + i32.const 5584 + call $~lib/rt/itcms/__visit + i32.const 4288 + call $~lib/rt/itcms/__visit + i32.const 5920 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 4880 + i32.const 159 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 i32.and i32.or i32.store offset=4 @@ -2596,599 +2952,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/process/process.hrtime (result i64) - (local $0 i32) - i32.const 1 - i64.const 0 - i32.const 1136 - call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.tee $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4160 - i32.const 59 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - i32.const 1136 - i64.load - ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) - block $invalid - block $~lib/map/Map<~lib/string/String,u64> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,u64> $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add - local.set $0 - loop $while-continue|0 - local.get $0 - local.get $1 - i32.gt_u - if - local.get $1 - i32.load offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $1 - i32.load - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 24 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $2 - call $~lib/rt/itcms/__visit - return - end - unreachable - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std-wasi/console - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 6404 - i32.lt_s - if - i32.const 22816 - i32.const 22864 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - i32.store - i32.const 12 - i64.const 9071471065260641 - i64.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $2 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $2 - i32.const 10 - i32.div_u - local.tee $2 - br_if $do-continue|0 - end - local.get $0 - local.get $4 - i32.add - local.tee $0 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.tee $1 - local.get $0 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|1 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $3 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $3 - i32.const 10 - i32.div_u - local.tee $3 - br_if $do-continue|1 - end - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 2601 - i32.store16 - i32.const 4 - local.get $0 - i32.const 10 - i32.sub - i32.store - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/writeString (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const -1 - local.set $4 - i32.const -1 - local.set $5 - i32.const -1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 - end - local.get $1 - i32.load16_u offset=6 - local.tee $2 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $1 - i32.load16_u offset=4 - local.tee $5 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $1 - i32.load16_u offset=2 - local.tee $4 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $1 - i32.load16_u - local.tee $3 - i32.const 128 - i32.ge_u - br_if $break|0 - i32.const 1136 - i32.const 1144 - i32.store - i32.const 1140 - local.get $4 - i32.const -1 - i32.ne - i32.const 1 - i32.add - local.get $5 - i32.const -1 - i32.ne - i32.add - local.get $2 - i32.const -1 - i32.ne - i32.add - i32.store - i32.const 1144 - local.get $3 - local.get $4 - i32.const 8 - i32.shl - i32.or - local.get $5 - i32.const 16 - i32.shl - i32.or - local.get $2 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $0 - i32.const 1136 - i32.const 1 - i32.const 1148 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.tee $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4160 - i32.const 178 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.set $2 - i32.const 0 - local.set $3 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.add - local.set $4 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_u - if - local.get $2 - i32.load16_u - local.tee $5 - i32.const 128 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1 - i32.add - else - local.get $5 - i32.const 2048 - i32.lt_u - if (result i32) - local.get $3 - i32.const 2 - i32.add - else - local.get $4 - local.get $2 - i32.const 2 - i32.add - i32.gt_u - i32.const 0 - local.get $5 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - select - if - local.get $2 - i32.load16_u offset=2 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - if - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $3 - i32.const 3 - i32.add - end - end - local.set $3 - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $3 - call $~lib/rt/tlsf/__alloc - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $2 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $3 - i32.ne - if - i32.const 0 - i32.const 4160 - i32.const 184 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - i32.const 1136 - local.get $2 - i32.store - i32.const 1140 - local.get $3 - i32.store - local.get $0 - i32.const 1136 - i32.const 1 - i32.const 1144 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $0 - local.get $2 - call $~lib/rt/tlsf/__free - local.get $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4160 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $0 - local.get $1 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.assert (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store - i32.const 2 - i32.const 1088 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - i32.const 2 - local.get $1 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4352 - i32.store - i32.const 2 - i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.log (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 1 - local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4352 - i32.store - i32.const 1 - i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -3197,26 +2960,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 0 - local.get $0 - i32.eqz - br_if $~lib/util/hash/hashStr|inlined.0 - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $0 + if (result i32) local.get $0 local.tee $1 i32.const 20 @@ -3396,244 +3141,11 @@ i32.const 16 i32.shr_u i32.xor + else + i32.const 0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/map/Map<~lib/string/String,u64>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=16 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - local.get $1 - call $~lib/string/String.__eq - end - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - local.get $3 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 ) (func $~lib/map/Map<~lib/string/String,u64>#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $0 local.get $1 local.get $1 @@ -3641,10 +3153,27 @@ call $~lib/map/Map<~lib/string/String,u64>#find i32.const 0 i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~lib/process/process.hrtime (result i64) + (local $0 i32) + i32.const 1 + i64.const 0 + i32.const 1136 + call $~lib/bindings/wasi_snapshot_preview1/clock_time_get + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4160 + i32.const 59 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1136 + i64.load ) (func $~lib/map/Map<~lib/string/String,u64>#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -3655,7 +3184,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3663,8 +3192,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 @@ -3721,9 +3250,6 @@ local.get $8 i64.load offset=8 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 local.get $2 local.get $6 local.get $7 @@ -3768,133 +3294,328 @@ i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,u64>#set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + block $invalid + block $~lib/map/Map<~lib/string/String,u64> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,u64> $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.tee $2 + local.tee $1 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.gt_u + if + local.get $1 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 24 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $2 + call $~lib/rt/itcms/__visit + return + end + unreachable + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std-wasi/console + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 6404 + i32.lt_s + if + i32.const 22816 + i32.const 22864 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/console/console.assert (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store - local.get $1 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $4 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store + i32.const 2 + i32.const 1088 + call $~lib/process/writeString + i32.const 2 + local.get $1 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 4352 + i32.store + i32.const 2 + i32.const 4352 + call $~lib/process/writeString + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.log (param $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1 local.get $0 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 4352 i32.store + i32.const 1 + i32.const 4352 + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map<~lib/string/String,u64>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map<~lib/string/String,u64>#find - local.tee $3 - if - local.get $3 - local.get $2 - i64.store offset=8 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + loop $while-continue|0 + local.get $5 if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + local.get $5 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.and if (result i32) - local.get $0 - i32.load offset=4 + i32.const 0 else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.load + local.tee $4 + i32.store + block $__inlined_func$~lib/string/String.__eq (result i32) + i32.const 1 + local.get $1 + local.get $4 + i32.eq + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $1 + i32.eqz + i32.const 1 + local.get $4 + select + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $4 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $__inlined_func$~lib/string/String.__eq + drop + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $4 + i32.const 7 + i32.and + local.get $1 + local.tee $2 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $4 + i64.load + local.get $2 + i64.load + i64.eq + if + local.get $4 + i32.const 8 + i32.add + local.set $4 + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $4 + i32.load16_u + local.tee $3 + local.get $2 + i32.load16_u + local.tee $7 + i32.ne + if + local.get $3 + local.get $7 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $4 + i32.const 2 + i32.add + local.set $4 + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + end end - call $~lib/map/Map<~lib/string/String,u64>#rehash + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $6 + i32.const -2 + i32.and + local.set $5 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 24 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $3 - local.get $2 - i64.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=16 - local.get $0 - local.get $3 - i32.store end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) (func $~lib/console/console.time (param $0 i32) (local $1 i32) @@ -3910,9 +3631,6 @@ global.get $~lib/console/timers local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $1 local.get $0 call $~lib/map/Map<~lib/string/String,u64>#has @@ -3922,19 +3640,16 @@ i32.store offset=4 i32.const 1 i32.const 5264 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/process/writeString i32.const 1 local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 5328 i32.store offset=4 i32.const 1 i32.const 5328 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3945,9 +3660,6 @@ global.get $~lib/console/timers local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $1 local.get $0 call $~lib/process/process.hrtime @@ -3975,29 +3687,6 @@ global.get $~lib/console/timers local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $1 local.get $0 local.get $0 @@ -4016,10 +3705,6 @@ local.get $1 i64.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer call $~lib/process/process.hrtime local.get $2 i64.sub @@ -4030,181 +3715,74 @@ local.get $2 call $~lib/util/number/utoa64 local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 i32.const 1 local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 6016 - i32.store offset=4 + i32.store offset=8 i32.const 1 i32.const 6016 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/process/writeString i32.const 1 local.get $1 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 6048 - i32.store offset=4 + i32.store offset=8 i32.const 1 i32.const 6048 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.timeLog (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - global.get $~lib/console/timers - local.tee $1 - i32.store - local.get $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 - call $~lib/map/Map<~lib/string/String,u64>#has - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store offset=4 - i32.const 1 - i32.const 5424 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 1 - local.get $1 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 5504 - i32.store offset=4 - i32.const 1 - i32.const 5504 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/console/timeLogImpl - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map<~lib/string/String,u64>#delete (param $0 i32) (param $1 i32) - (local $2 i32) + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,u64>#find - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.get $1 - i32.load offset=16 - i32.const 1 - i32.or - i32.store offset=16 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 i32.add - i32.const 4 - local.get $0 - i32.load offset=20 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.timeLog (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/console/timers local.tee $1 + i32.store local.get $1 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end + local.get $0 + call $~lib/map/Map<~lib/string/String,u64>#has + i32.eqz if global.get $~lib/memory/__stack_pointer + i32.const 5424 + i32.store offset=4 + i32.const 1 + i32.const 5424 + call $~lib/process/writeString + i32.const 1 local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map<~lib/string/String,u64>#rehash + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 5504 + i32.store offset=4 + i32.const 1 + i32.const 5504 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return end + local.get $0 + call $~lib/console/timeLogImpl global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4225,11 +3803,6 @@ i32.store local.get $1 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 call $~lib/map/Map<~lib/string/String,u64>#has i32.eqz if @@ -4238,40 +3811,82 @@ i32.store offset=4 i32.const 1 i32.const 5424 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/process/writeString i32.const 1 local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 6080 i32.store offset=4 i32.const 1 i32.const 6080 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer return end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 call $~lib/console/timeLogImpl global.get $~lib/memory/__stack_pointer global.get $~lib/console/timers local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $1 local.get $0 - call $~lib/map/Map<~lib/string/String,u64>#delete + local.get $0 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,u64>#find + local.tee $0 + if + local.get $0 + local.get $0 + i32.load offset=16 + i32.const 1 + i32.or + i32.store offset=16 + local.get $1 + local.get $1 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 + i32.add + i32.const 4 + local.get $1 + i32.load offset=20 + local.tee $0 + local.get $0 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + local.get $1 + i32.load offset=20 + local.get $1 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $1 + local.get $2 + call $~lib/map/Map<~lib/string/String,u64>#rehash + end + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -4320,19 +3935,16 @@ i32.store i32.const 1 i32.const 4512 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4464 - i32.store + call $~lib/process/writeString i32.const 1 i32.const 4464 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4352 i32.store i32.const 1 i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4353,19 +3965,16 @@ i32.store i32.const 1 i32.const 4608 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store + call $~lib/process/writeString i32.const 1 i32.const 4560 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4352 i32.store i32.const 1 i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4386,19 +3995,16 @@ i32.store i32.const 1 i32.const 4688 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4640 - i32.store + call $~lib/process/writeString i32.const 1 i32.const 4640 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4352 i32.store i32.const 1 i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4419,19 +4025,16 @@ i32.store i32.const 1 i32.const 4784 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4736 - i32.store + call $~lib/process/writeString i32.const 1 i32.const 4736 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4352 i32.store i32.const 1 i32.const 4352 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4589,6 +4192,114 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/map/Map<~lib/string/String,u64>#set (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + local.tee $4 + call $~lib/map/Map<~lib/string/String,u64>#find + local.tee $3 + if + local.get $3 + local.get $2 + i64.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,u64>#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 24 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $3 + local.get $2 + i64.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=16 + local.get $0 + local.get $3 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/number/utoa64 (param $0 i64) (result i32) (local $1 i32) (local $2 i32) diff --git a/tests/compiler/std-wasi/console.untouched.wat b/tests/compiler/std-wasi/console.untouched.wat index 49a669b241..4bbaf7f5a8 100644 --- a/tests/compiler/std-wasi/console.untouched.wat +++ b/tests/compiler/std-wasi/console.untouched.wat @@ -463,6 +463,162 @@ local.get $1 i32.store offset=4 ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + i32.const 0 + i32.const 12 + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf + i32.const 12 + local.set $4 + local.get $4 + i64.const 9071471065260641 + i64.store + local.get $4 + i32.const 7 + i32.add + local.set $4 + local.get $0 + i32.const 0 + i32.ne + if + local.get $4 + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + i32.const 0 + i32.ne + if + local.get $4 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + local.tee $5 + i32.const 1 + i32.add + local.set $4 + local.get $5 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|0 + local.get $2 + i32.const 10 + i32.div_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $2 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $5 + local.set $2 + local.get $2 + local.set $7 + local.get $7 + br_if $do-continue|0 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|1 + local.get $3 + i32.const 10 + i32.div_u + local.set $7 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $3 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $7 + local.set $3 + local.get $3 + local.set $8 + local.get $8 + br_if $do-continue|1 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + i32.const 2601 + i32.store16 + local.get $4 + i32.const 2 + i32.add + local.set $4 + i32.const 0 + local.get $4 + i32.const 12 + i32.sub + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/bindings/wasi_snapshot_preview1/errnoToString (param $0 i32) (result i32) (local $1 i32) block $break|0 @@ -2649,192 +2805,401 @@ call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) - local.get $0 - local.get $0 - call $~lib/rt/itcms/Object#set:nextWithColor - local.get $0 - local.get $0 - call $~lib/rt/itcms/Object#set:prev - local.get $0 - ) - (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - ) - (func $~lib/rt/itcms/visitRoots (param $0 i32) - (local $1 i32) + (func $~lib/process/writeString (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/__visit_globals - global.get $~lib/rt/itcms/pinSpace - local.set $1 - local.get $1 - call $~lib/rt/itcms/Object#get:next + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const -1 local.set $2 - loop $while-continue|0 - local.get $2 - local.get $1 - i32.ne - local.set $3 - local.get $3 - if - i32.const 1 - drop - local.get $2 - call $~lib/rt/itcms/Object#get:color - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 3856 - i32.const 159 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i32.const 20 - i32.add - local.get $0 - call $~lib/rt/__visit_members - local.get $2 - call $~lib/rt/itcms/Object#get:next - local.set $2 - br $while-continue|0 - end - end - ) - (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=4 - i32.const 3 i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - call $~lib/rt/itcms/Object#set:nextWithColor - ) - (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.or - call $~lib/rt/itcms/Object#set:nextWithColor - ) - (func $~lib/rt/itcms/Object#unlink (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/itcms/Object#get:next - local.set $1 - local.get $1 - i32.const 0 - i32.eq - if - i32.const 1 - drop - local.get $0 - i32.load offset=8 - i32.const 0 - i32.eq - if (result i32) + local.set $3 + i32.const -1 + local.set $4 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $1 + call $~lib/string/String#get:length + local.set $5 + local.get $5 + i32.const 4 + i32.eq + br_if $case0|0 + local.get $5 + i32.const 3 + i32.eq + br_if $case1|0 + local.get $5 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $5 + i32.const 1 + i32.eq + br_if $case3|0 + local.get $5 + i32.const 0 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.load16_u offset=6 + local.set $4 + local.get $4 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u offset=4 + local.set $3 + local.get $3 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u offset=2 + local.set $2 + local.get $2 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u + local.set $5 + local.get $5 + i32.const 128 + i32.ge_s + if + br $break|0 + end + global.get $~lib/process/iobuf + global.get $~lib/process/iobuf + i32.const 2 + i32.const 4 + i32.mul + i32.add + i32.store + global.get $~lib/process/iobuf + i32.const 1 + local.get $2 + i32.const -1 + i32.ne + i32.add + local.get $3 + i32.const -1 + i32.ne + i32.add + local.get $4 + i32.const -1 + i32.ne + i32.add + i32.store offset=4 + global.get $~lib/process/iobuf + local.get $5 + local.get $2 + i32.const 8 + i32.shl + i32.or + local.get $3 + i32.const 16 + i32.shl + i32.or + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store offset=8 local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 3856 - i32.const 127 - i32.const 18 - call $~lib/wasi/index/abort - unreachable + global.get $~lib/process/iobuf + i32.const 1 + global.get $~lib/process/iobuf + i32.const 3 + i32.const 4 + i32.mul + i32.add + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $6 + local.get $6 + i32.const 65535 + i32.and + if + local.get $6 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3136 + i32.const 178 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end end return end - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 1 - drop - local.get $2 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + local.set $7 + local.get $7 + call $~lib/rt/tlsf/__alloc + local.set $8 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $8 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $7 + i32.eq i32.eqz if i32.const 0 - i32.const 3856 - i32.const 131 - i32.const 16 + i32.const 3136 + i32.const 184 + i32.const 3 call $~lib/wasi/index/abort unreachable end - local.get $1 - local.get $2 - call $~lib/rt/itcms/Object#set:prev - local.get $2 - local.get $1 - call $~lib/rt/itcms/Object#set:next - ) - (func $~lib/rt/__typeinfo (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 + global.get $~lib/process/iobuf + local.get $8 + i32.store + global.get $~lib/process/iobuf + local.get $7 + i32.store offset=4 local.get $0 - local.get $1 - i32.load - i32.gt_u + global.get $~lib/process/iobuf + i32.const 1 + global.get $~lib/process/iobuf + i32.const 2 + i32.const 4 + i32.mul + i32.add + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $9 + local.get $8 + call $~lib/rt/tlsf/__free + local.get $9 + i32.const 65535 + i32.and if - i32.const 3984 - i32.const 4048 - i32.const 22 - i32.const 28 + local.get $9 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3136 + i32.const 189 + i32.const 12 call $~lib/wasi/index/abort unreachable end + ) + (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) + i32.const 1 + drop + local.get $0 local.get $1 - i32.const 4 - i32.add + call $~lib/process/writeString + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load + local.get $1 + i32.store offset=4 ) - (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - local.set $1 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + local.get $0 + ) + (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + ) + (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + ) + (func $~lib/rt/itcms/visitRoots (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $1 + local.get $1 + call $~lib/rt/itcms/Object#get:next + local.set $2 + loop $while-continue|0 + local.get $2 + local.get $1 + i32.ne + local.set $3 + local.get $3 + if + i32.const 1 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 3856 + i32.const 159 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i32.const 20 + i32.add + local.get $0 + call $~lib/rt/__visit_members + local.get $2 + call $~lib/rt/itcms/Object#get:next + local.set $2 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $1 + local.get $1 + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $0 + i32.load offset=8 + i32.const 0 + i32.eq + if (result i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 3856 + i32.const 127 + i32.const 18 + call $~lib/wasi/index/abort + unreachable + end + return + end + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + drop + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 3856 + i32.const 131 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/rt/itcms/Object#set:prev + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/__typeinfo (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 3984 + i32.const 4048 + i32.const 22 + i32.const 28 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load offset=12 + local.set $1 local.get $1 i32.const 1 i32.le_u @@ -3613,352 +3978,459 @@ local.get $1 i32.store offset=20 ) - (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $5 - local.get $2 - local.get $3 + (local $10 i32) + (local $11 i32) + (local $12 i32) i32.const 1 - i32.shl - i32.add - local.set $6 - i32.const 0 - i32.const 2 - i32.lt_s drop - local.get $4 - i32.const 4 - i32.ge_u - if (result i32) - local.get $5 - i32.const 7 - i32.and - local.get $6 - i32.const 7 - i32.and - i32.or - i32.eqz - else + block $~lib/util/hash/hashStr|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 i32.const 0 - end - if - block $do-break|0 - loop $do-continue|0 - local.get $5 - i64.load - local.get $6 - i64.load - i64.ne - if - br $do-break|0 - end - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $6 - i32.const 8 - i32.add - local.set $6 - local.get $4 - i32.const 4 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.ge_u - local.set $7 - local.get $7 - br_if $do-continue|0 - end + i32.eq + if + i32.const 0 + br $~lib/util/hash/hashStr|inlined.0 end - end - loop $while-continue|1 - local.get $4 - local.tee $7 + local.get $1 + call $~lib/string/String#get:length i32.const 1 - i32.sub + i32.shl + local.set $2 + local.get $2 + local.set $3 + local.get $1 local.set $4 - local.get $7 - local.set $7 - local.get $7 + local.get $3 + i32.const 16 + i32.ge_u if - local.get $5 - i32.load16_u - local.set $8 - local.get $6 - i32.load16_u - local.set $9 - local.get $8 - local.get $9 - i32.ne - if - local.get $8 - local.get $9 - i32.sub - return - end - local.get $5 - i32.const 2 + i32.const 0 + i32.const -1640531535 + i32.add + i32.const -2048144777 i32.add local.set $5 - local.get $6 - i32.const 2 + i32.const 0 + i32.const -2048144777 i32.add local.set $6 - br $while-continue|1 - end - end - i32.const 0 - ) - (func $~lib/process/process.hrtime (result i64) - (local $0 i32) - i32.const 1 - i64.const 0 - global.get $~lib/process/iobuf - call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.set $0 - local.get $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3136 - i32.const 59 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/process/iobuf - i64.load - ) - (func $~lib/map/MapEntry<~lib/string/String,u64>#set:value (param $0 i32) (param $1 i64) - local.get $0 - local.get $1 - i64.store offset=8 - ) - (func $~lib/map/MapEntry<~lib/string/String,u64>#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - ) - (func $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - local.set $3 - local.get $3 - if - local.get $1 - i32.const 10000 - i32.div_u - local.set $4 - local.get $1 - i32.const 10000 - i32.rem_u - local.set $5 + i32.const 0 + local.set $7 + i32.const 0 + i32.const -1640531535 + i32.sub + local.set $8 + local.get $3 local.get $4 - local.set $1 - local.get $5 - i32.const 100 - i32.div_u - local.set $6 + i32.add + i32.const 16 + i32.sub + local.set $9 + loop $while-continue|0 + local.get $4 + local.get $9 + i32.le_u + local.set $10 + local.get $10 + if + local.get $5 + local.set $12 + local.get $4 + i32.load + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $5 + local.get $6 + local.set $12 + local.get $4 + i32.load offset=4 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $6 + local.get $7 + local.set $12 + local.get $4 + i32.load offset=8 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $7 + local.get $8 + local.set $12 + local.get $4 + i32.load offset=12 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $8 + local.get $4 + i32.const 16 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $2 local.get $5 - i32.const 100 - i32.rem_u - local.set $7 - i32.const 4876 + i32.const 1 + i32.rotl local.get $6 - i32.const 2 - i32.shl + i32.const 7 + i32.rotl i32.add - i64.load32_u - local.set $8 - i32.const 4876 local.get $7 - i32.const 2 - i32.shl + i32.const 12 + i32.rotl + i32.add + local.get $8 + i32.const 18 + i32.rotl + i32.add i32.add - i64.load32_u - local.set $9 - local.get $2 - i32.const 4 - i32.sub local.set $2 - local.get $0 + else local.get $2 - i32.const 1 - i32.shl + i32.const 0 + i32.const 374761393 i32.add - local.get $8 - local.get $9 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 + i32.add + local.set $2 end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $1 - i32.const 100 - i32.div_u - local.set $3 local.get $1 - i32.const 100 - i32.rem_u - local.set $10 local.get $3 - local.set $1 - local.get $2 - i32.const 2 + i32.add + i32.const 4 i32.sub - local.set $2 - i32.const 4876 - local.get $10 - i32.const 2 - i32.shl + local.set $9 + loop $while-continue|1 + local.get $4 + local.get $9 + i32.le_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $4 + i32.const 4 + i32.add + local.set $4 + br $while-continue|1 + end + end + local.get $1 + local.get $3 i32.add - i32.load - local.set $11 - local.get $0 + local.set $9 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load8_u + i32.const 374761393 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 11 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $2 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|2 + end + end local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $1 - i32.const 10 - i32.ge_u - if local.get $2 - i32.const 2 - i32.sub + i32.const 15 + i32.shr_u + i32.xor local.set $2 - i32.const 4876 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - else + i32.const -2048144777 + i32.mul + local.set $2 local.get $2 - i32.const 1 - i32.sub + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor local.set $2 - i32.const 48 - local.get $1 - i32.add - local.set $11 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 end + return ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 - i64.const 1000000000000000 - i64.lt_u + local.get $1 + i32.const 1 + i32.shl + i32.add + local.set $5 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 4 + i32.ge_u + if (result i32) + local.get $5 + i32.const 7 + i32.and + local.get $6 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end if - local.get $0 - i64.const 1000000000000 - i64.lt_u + block $do-break|0 + loop $do-continue|0 + local.get $5 + i64.load + local.get $6 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $6 + i32.const 8 + i32.add + local.set $6 + local.get $4 + i32.const 4 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.ge_u + local.set $7 + local.get $7 + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $4 + local.tee $7 + i32.const 1 + i32.sub + local.set $4 + local.get $7 + local.set $7 + local.get $7 if - i32.const 10 - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $0 - i64.const 100000000000000 - i64.ge_u + local.get $5 + i32.load16_u + local.set $8 + local.get $6 + i32.load16_u + local.set $9 + local.get $8 + local.get $9 + i32.ne + if + local.get $8 + local.get $9 + i32.sub + return + end + local.get $5 + i32.const 2 i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u + local.set $5 + local.get $6 + i32.const 2 i32.add - return - end - unreachable - else - local.get $0 - i64.const 100000000000000000 - i64.lt_u - if - i32.const 16 - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - return + local.set $6 + br $while-continue|1 end + end + i32.const 0 + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/map/Map<~lib/string/String,u64>#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,u64>#find + i32.const 0 + i32.ne + ) + (func $~lib/process/process.hrtime (result i64) + (local $0 i32) + i32.const 1 + i64.const 0 + global.get $~lib/process/iobuf + call $~lib/bindings/wasi_snapshot_preview1/clock_time_get + local.set $0 + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3136 + i32.const 59 + i32.const 14 + call $~lib/wasi/index/abort unreachable end - unreachable + global.get $~lib/process/iobuf + i64.load ) - (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/MapEntry<~lib/string/String,u64>#set:value (param $0 i32) (param $1 i64) + local.get $0 + local.get $1 + i64.store offset=8 + ) + (func $~lib/map/MapEntry<~lib/string/String,u64>#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map<~lib/string/String,u64>#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -3966,130 +4438,210 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i64) - (local $13 i64) + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $4 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 loop $while-continue|0 - local.get $1 - i64.const 100000000 - i64.ge_u - local.set $3 - local.get $3 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - i64.const 100000000 - i64.div_u - local.set $4 - local.get $1 - local.get $4 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 10000 - i32.div_u - local.set $6 - local.get $5 - i32.const 10000 - i32.rem_u - local.set $7 - local.get $6 - i32.const 100 - i32.div_u - local.set $8 local.get $6 - i32.const 100 - i32.rem_u - local.set $9 - local.get $7 - i32.const 100 - i32.div_u local.set $10 - local.get $7 - i32.const 100 - i32.rem_u - local.set $11 - i32.const 4876 local.get $10 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 4876 - local.get $11 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 + i32.load offset=16 i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - i32.const 4876 - local.get $8 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 4876 - local.get $9 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl + i32.and + i32.eqz + if + local.get $8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.load + local.tee $12 + i32.store offset=8 + local.get $11 + local.get $12 + call $~lib/map/MapEntry<~lib/string/String,u64>#set:key + local.get $11 + local.get $10 + i64.load offset=8 + call $~lib/map/MapEntry<~lib/string/String,u64>#set:value + local.get $12 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 24 + i32.add + local.set $8 + end + local.get $6 + i32.const 24 i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store + local.set $6 br $while-continue|0 end end local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,u64>#set:buckets + local.get $0 local.get $1 - i32.wrap_i64 + call $~lib/map/Map<~lib/string/String,u64>#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map<~lib/string/String,u64>#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map<~lib/string/String,u64>#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map<~lib/string/String,u64>#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map<~lib/string/String,u64>#get (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,u64>#find + local.set $2 local.get $2 - call $~lib/util/number/utoa32_dec_lut + i32.eqz + if + i32.const 4560 + i32.const 4624 + i32.const 105 + i32.const 17 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i64.load offset=8 ) - (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i32) loop $while-continue|0 - local.get $2 - i32.const 2 + local.get $1 + i32.const 10000 i32.ge_u local.set $3 local.get $3 if - local.get $2 + local.get $1 + i32.const 10000 + i32.div_u + local.set $4 + local.get $1 + i32.const 10000 + i32.rem_u + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 100 + i32.div_u + local.set $6 + local.get $5 + i32.const 100 + i32.rem_u + local.set $7 + i32.const 4876 + local.get $6 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $8 + i32.const 4876 + local.get $7 i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $9 + local.get $2 + i32.const 4 i32.sub local.set $2 local.get $0 @@ -4097,144 +4649,219 @@ i32.const 1 i32.shl i32.add - i32.const 5296 - local.get $1 - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - i32.store - local.get $1 - i64.const 8 - i64.shr_u - local.set $1 + local.get $8 + local.get $9 + i64.const 32 + i64.shl + i64.or + i64.store br $while-continue|0 end end - local.get $2 - i32.const 1 - i32.and + local.get $1 + i32.const 100 + i32.ge_u if - local.get $0 - i32.const 5296 local.get $1 - i32.wrap_i64 - i32.const 6 + i32.const 100 + i32.div_u + local.set $3 + local.get $1 + i32.const 100 + i32.rem_u + local.set $10 + local.get $3 + local.set $1 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 4876 + local.get $10 + i32.const 2 i32.shl i32.add - i32.load16_u - i32.store16 + i32.load + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store end - ) - (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i64) - (local $4 i64) - (local $5 i32) local.get $1 - local.set $2 - local.get $2 - i32.popcnt - i32.const 1 - i32.eq + i32.const 10 + i32.ge_u if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 + local.get $2 + i32.const 2 i32.sub - i32.const 31 + local.set $2 + i32.const 4876 local.get $1 - i32.clz - i32.sub - i32.div_u - i32.const 1 + i32.const 2 + i32.shl i32.add - return - end - local.get $1 - i64.extend_i32_s - local.set $3 - local.get $3 - local.set $4 - i32.const 1 - local.set $5 - loop $while-continue|0 + i32.load + local.set $11 local.get $0 - local.get $4 - i64.ge_u + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store + else + local.get $2 + i32.const 1 + i32.sub local.set $2 + i32.const 48 + local.get $1 + i32.add + local.set $11 + local.get $0 local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 1000000000000000 + i64.lt_u + if + local.get $0 + i64.const 1000000000000 + i64.lt_u if + i32.const 10 local.get $0 - local.get $4 - i64.div_u - local.set $0 - local.get $4 - local.get $4 - i64.mul - local.set $4 - local.get $5 - i32.const 1 - i32.shl - local.set $5 - br $while-continue|0 + i64.const 100000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + return end - end - loop $while-continue|1 + unreachable + else local.get $0 - i64.const 1 - i64.ge_u - local.set $2 - local.get $2 + i64.const 100000000000000000 + i64.lt_u if + i32.const 16 local.get $0 - local.get $3 - i64.div_u - local.set $0 - local.get $5 - i32.const 1 + i64.const 10000000000000000 + i64.ge_u i32.add - local.set $5 - br $while-continue|1 + return + else + i32.const 18 + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + return end + unreachable end - local.get $5 - i32.const 1 - i32.sub + unreachable ) - (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) (local $4 i64) - (local $5 i64) - (local $6 i64) + (local $5 i32) + (local $6 i32) (local $7 i32) - local.get $3 - i64.extend_i32_s - local.set $4 - local.get $3 - local.get $3 - i32.const 1 - i32.sub - i32.and - i32.const 0 - i32.eq - if + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i64) + loop $while-continue|0 + local.get $1 + i64.const 100000000 + i64.ge_u + local.set $3 local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $5 - local.get $4 - i64.const 1 - i64.sub - local.set $6 - loop $do-continue|0 + if + local.get $1 + i64.const 100000000 + i64.div_u + local.set $4 + local.get $1 + local.get $4 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $7 + local.get $6 + i32.const 100 + i32.div_u + local.set $8 + local.get $6 + i32.const 100 + i32.rem_u + local.set $9 + local.get $7 + i32.const 100 + i32.div_u + local.set $10 + local.get $7 + i32.const 100 + i32.rem_u + local.set $11 + i32.const 4876 + local.get $10 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 4876 + local.get $11 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 local.get $2 - i32.const 1 + i32.const 4 i32.sub local.set $2 local.get $0 @@ -4242,1707 +4869,800 @@ i32.const 1 i32.shl i32.add - i32.const 6352 - local.get $1 - local.get $6 - i64.and - i32.wrap_i64 - i32.const 1 + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + i32.const 4876 + local.get $8 + i32.const 2 i32.shl i32.add - i32.load16_u - i32.store16 - local.get $1 - local.get $5 - i64.shr_u - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|0 - end - else - loop $do-continue|1 + i64.load32_u + local.set $12 + i32.const 4876 + local.get $9 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 local.get $2 - i32.const 1 + i32.const 4 i32.sub local.set $2 - local.get $1 - local.get $4 - i64.div_u - local.set $6 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - i32.const 6352 - local.get $1 - local.get $6 - local.get $4 - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $6 - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|1 + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 end end - ) - (func $~lib/number/U64#toString (param $0 i64) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/util/number/utoa64 + i32.wrap_i64 + local.get $2 + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $~lib/console/timers - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $2 + i32.const 2 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 5296 + local.get $1 + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $1 + i64.const 8 + i64.shr_u + local.set $1 + br $while-continue|0 + end end - i32.const 3984 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 4128 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 4560 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 3264 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 5296 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 6352 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 + local.get $2 + i32.const 1 + i32.and if - local.get $2 + local.get $0 + i32.const 5296 local.get $1 - call $~lib/rt/itcms/__visit + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u + i32.store16 end ) - (func $~lib/map/Map<~lib/string/String,u64>#__visit (param $0 i32) (param $1 i32) + (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) + (local $3 i64) + (local $4 i64) (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 local.set $2 + local.get $2 + i32.popcnt i32.const 1 - if (result i32) + i32.eq + if + i32.const 63 + local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $1 + i32.clz + i32.sub + i32.div_u i32.const 1 - else - i32.const 0 + i32.add + return end - drop - local.get $2 + local.get $1 + i64.extend_i32_s local.set $3 local.get $3 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add local.set $4 + i32.const 1 + local.set $5 loop $while-continue|0 - local.get $3 + local.get $0 local.get $4 - i32.lt_u - local.set $5 - local.get $5 + i64.ge_u + local.set $2 + local.get $2 if - local.get $3 - local.set $6 - local.get $6 - i32.load offset=16 + local.get $0 + local.get $4 + i64.div_u + local.set $0 + local.get $4 + local.get $4 + i64.mul + local.set $4 + local.get $5 i32.const 1 - i32.and - i32.eqz - if - i32.const 1 - drop - local.get $6 - i32.load - local.set $7 - i32.const 0 - drop - local.get $7 - local.get $1 - call $~lib/rt/itcms/__visit - i32.const 0 - drop - end - local.get $3 - i32.const 24 - i32.add - local.set $3 + i32.shl + local.set $5 br $while-continue|0 end end - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map<~lib/string/String,u64>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,u64>#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/map/Map<~lib/string/String,u64> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,u64> $invalid - end - return - end - return - end + loop $while-continue|1 + local.get $0 + i64.const 1 + i64.ge_u + local.set $2 + local.get $2 + if local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return + local.get $3 + i64.div_u + local.set $0 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $while-continue|1 end - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,u64>~visit - return - end - unreachable - ) - (func $~start - global.get $~started - if - return end + local.get $5 i32.const 1 - global.set $~started - call $start:std-wasi/console - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 23248 - i32.const 23296 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end + i32.sub ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + i64.extend_i32_s + local.set $4 + local.get $3 + local.get $3 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf - i32.const 12 - local.set $4 - local.get $4 - i64.const 9071471065260641 - i64.store - local.get $4 - i32.const 7 - i32.add - local.set $4 - local.get $0 + i32.and i32.const 0 - i32.ne + i32.eq if + local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $5 local.get $4 - local.get $0 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 + i64.const 1 + i64.sub + local.set $6 + loop $do-continue|0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 6352 + local.get $1 + local.get $6 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $1 + local.get $5 + i64.shr_u + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|0 + end + else + loop $do-continue|1 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $4 + i64.div_u + local.set $6 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 6352 + local.get $1 + local.get $6 + local.get $4 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $6 + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|1 + end end - local.get $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 + ) + (func $~lib/number/U64#toString (param $0 i64) (param $1 i32) (result i32) + local.get $0 local.get $1 - i32.const 0 - i32.ne + call $~lib/util/number/utoa64 + ) + (func $~lib/map/Map<~lib/string/String,u64>#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,u64>#find + local.set $2 + local.get $2 + i32.eqz if - local.get $4 - local.get $1 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 + return end - local.get $4 - local.tee $5 - i32.const 1 - i32.add - local.set $4 - local.get $5 - i32.const 40 - i32.store8 local.get $2 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|0 - local.get $2 - i32.const 10 - i32.div_u - local.set $5 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $2 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $5 - local.set $2 - local.get $2 - local.set $7 - local.get $7 - br_if $do-continue|0 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - local.tee $7 + local.get $2 + i32.load offset=16 i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.const 58 - i32.store8 + i32.or + call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map<~lib/string/String,u64>#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 local.get $3 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|1 - local.get $3 - i32.const 10 - i32.div_u - local.set $7 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $3 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $7 - local.set $3 - local.get $3 - local.set $8 - local.get $8 - br_if $do-continue|1 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - i32.const 2601 - i32.store16 - local.get $4 - i32.const 2 + i32.const 1 i32.add - local.set $4 - i32.const 0 + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 local.get $4 - i32.const 12 - i32.sub - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len - i32.const 2 - i32.const 0 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,u64>#rehash + end i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/process/writeString (param $0 i32) (param $1 i32) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $~lib/console/timers + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 3984 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 4128 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 4560 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 3264 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 5296 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 6352 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/map/Map<~lib/string/String,u64>#__visit (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const -1 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 - i32.const -1 + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + local.get $2 local.set $3 - i32.const -1 + local.get $3 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add local.set $4 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.set $5 - local.get $5 - i32.const 4 - i32.eq - br_if $case0|0 - local.get $5 - i32.const 3 - i32.eq - br_if $case1|0 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $5 - i32.const 1 - i32.eq - br_if $case3|0 - local.get $5 - i32.const 0 - i32.eq - br_if $case4|0 - br $break|0 - end - local.get $1 - i32.load16_u offset=6 - local.set $4 - local.get $4 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u offset=4 - local.set $3 - local.get $3 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u offset=2 - local.set $2 - local.get $2 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u - local.set $5 - local.get $5 - i32.const 128 - i32.ge_s - if - br $break|0 - end - global.get $~lib/process/iobuf - global.get $~lib/process/iobuf - i32.const 2 - i32.const 4 - i32.mul - i32.add - i32.store - global.get $~lib/process/iobuf - i32.const 1 - local.get $2 - i32.const -1 - i32.ne - i32.add - local.get $3 - i32.const -1 - i32.ne - i32.add - local.get $4 - i32.const -1 - i32.ne - i32.add - i32.store offset=4 - global.get $~lib/process/iobuf - local.get $5 - local.get $2 - i32.const 8 - i32.shl - i32.or + loop $while-continue|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if local.get $3 - i32.const 16 - i32.shl - i32.or - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store offset=8 - local.get $0 - global.get $~lib/process/iobuf - i32.const 1 - global.get $~lib/process/iobuf - i32.const 3 - i32.const 4 - i32.mul - i32.add - call $~lib/bindings/wasi_snapshot_preview1/fd_write local.set $6 local.get $6 - i32.const 65535 + i32.load offset=16 + i32.const 1 i32.and + i32.eqz if + i32.const 1 + drop local.get $6 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3136 - i32.const 178 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - i32.const 0 - call $~lib/string/String.UTF8.byteLength - local.set $7 - local.get $7 - call $~lib/rt/tlsf/__alloc - local.set $8 - local.get $1 - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.get $8 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 3136 - i32.const 184 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/process/iobuf - local.get $8 - i32.store - global.get $~lib/process/iobuf - local.get $7 - i32.store offset=4 - local.get $0 - global.get $~lib/process/iobuf - i32.const 1 - global.get $~lib/process/iobuf - i32.const 2 - i32.const 4 - i32.mul - i32.add - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $9 - local.get $8 - call $~lib/rt/tlsf/__free - local.get $9 - i32.const 65535 - i32.and - if - local.get $9 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3136 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable + i32.load + local.set $7 + i32.const 0 + drop + local.get $7 + local.get $1 + call $~lib/rt/itcms/__visit + i32.const 0 + drop + end + local.get $3 + i32.const 24 + i32.add + local.set $3 + br $while-continue|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 1 - drop + (func $~lib/map/Map<~lib/string/String,u64>~visit (param $0 i32) (param $1 i32) local.get $0 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/map/Map<~lib/string/String,u64>#__visit ) - (func $~lib/console/console.assert (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz - if - global.get $~lib/process/process.stderr - local.set $2 - local.get $2 - i32.const 64 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $2 + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/map/Map<~lib/string/String,u64> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,u64> $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $2 - i32.const 3328 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/map/Map<~lib/string/String,u64>~visit + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + unreachable ) - (func $~lib/console/console.log (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3328 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std-wasi/console ) - (func $~lib/console/console.debug (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - i32.const 3488 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3328 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.info (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - i32.const 3584 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3328 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.warn (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - i32.const 3664 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3328 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.error (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - i32.const 3760 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3328 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 1 - drop - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/util/hash/hashStr|inlined.0 - end - local.get $1 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=4 - local.get $13 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - local.get $3 - i32.const 16 - i32.ge_u - if - i32.const 0 - i32.const -1640531535 - i32.add - i32.const -2048144777 - i32.add - local.set $5 - i32.const 0 - i32.const -2048144777 - i32.add - local.set $6 - i32.const 0 - local.set $7 - i32.const 0 - i32.const -1640531535 - i32.sub - local.set $8 - local.get $3 - local.get $4 - i32.add - i32.const 16 - i32.sub - local.set $9 - loop $while-continue|0 - local.get $4 - local.get $9 - i32.le_u - local.set $10 - local.get $10 - if - local.get $5 - local.set $12 - local.get $4 - i32.load - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $5 - local.get $6 - local.set $12 - local.get $4 - i32.load offset=4 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $6 - local.get $7 - local.set $12 - local.get $4 - i32.load offset=8 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $7 - local.get $8 - local.set $12 - local.get $4 - i32.load offset=12 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $8 - local.get $4 - i32.const 16 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $2 - local.get $5 - i32.const 1 - i32.rotl - local.get $6 - i32.const 7 - i32.rotl - i32.add - local.get $7 - i32.const 12 - i32.rotl - i32.add - local.get $8 - i32.const 18 - i32.rotl - i32.add - i32.add - local.set $2 - else - local.get $2 - i32.const 0 - i32.const 374761393 - i32.add - i32.add - local.set $2 - end - local.get $1 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.set $9 - loop $while-continue|1 - local.get $4 - local.get $9 - i32.le_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $4 - i32.const 4 - i32.add - local.set $4 - br $while-continue|1 - end - end - local.get $1 - local.get $3 - i32.add - local.set $9 - loop $while-continue|2 - local.get $4 - local.get $9 - i32.lt_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load8_u - i32.const 374761393 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 11 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $2 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - end - local.set $13 + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 23248 + i32.const 23296 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $~lib/console/console.assert (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - local.get $1 - i32.eq + i32.eqz if - i32.const 1 + global.get $~lib/process/process.stderr + local.set $2 + local.get $2 + i32.const 64 local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else + i32.store + local.get $3 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $2 local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $2 + i32.const 3328 local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $3 - return + i32.store + local.get $3 + call $~lib/process/WritableStream#write<~lib/string/String> end - local.get $0 - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.log (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $3 - call $~lib/string/String#get:length + global.get $~lib/process/process.stdout + local.set $1 + local.get $1 + local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3328 local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - local.set $3 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.debug (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 + global.get $~lib/process/process.stdout + local.set $1 + local.get $1 + i32.const 3488 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store - local.get $3 - i32.const 0 + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 - local.set $3 + local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3328 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/map/Map<~lib/string/String,u64>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/console/console.info (param $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load + i32.const 0 + i32.store + global.get $~lib/process/process.stdout + local.set $1 + local.get $1 + i32.const 3584 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=16 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String.__eq - else - i32.const 0 - end - if - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - local.set $6 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3328 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map<~lib/string/String,u64>#has (param $0 i32) (param $1 i32) (result i32) + (func $~lib/console/console.warn (param $0 i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 i32.store - local.get $2 + global.get $~lib/process/process.stdout + local.set $1 local.get $1 + i32.const 3664 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.store local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 + local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3328 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store local.get $2 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,u64>#find - i32.const 0 - i32.ne - local.set $2 + call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/map/Map<~lib/string/String,u64>#rehash (param $0 i32) (param $1 i32) + (func $~lib/console/console.error (param $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store + global.get $~lib/process/process.stdout + local.set $1 local.get $1 - i32.const 1 - i32.add + i32.const 3760 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 i32.store local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $4 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 - if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $8 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.load - local.tee $12 - i32.store offset=8 - local.get $11 - local.get $12 - call $~lib/map/MapEntry<~lib/string/String,u64>#set:key - local.get $11 - local.get $10 - i64.load offset=8 - call $~lib/map/MapEntry<~lib/string/String,u64>#set:value - local.get $12 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=12 - local.get $15 - call $~lib/util/hash/HASH<~lib/string/String> - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 24 - i32.add - local.set $8 - end - local.get $6 - i32.const 24 - i32.add - local.set $6 - br $while-continue|0 - end - end - local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,u64>#set:buckets - local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 - call $~lib/map/Map<~lib/string/String,u64>#set:bucketsMask local.get $0 - local.get $5 - call $~lib/map/Map<~lib/string/String,u64>#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map<~lib/string/String,u64>#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map<~lib/string/String,u64>#set:entriesOffset + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3328 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $2 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,u64>#set (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (func $~lib/map/Map<~lib/string/String,u64>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 i32.store - local.get $7 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/map/Map<~lib/string/String,u64>#find - local.set $4 - local.get $4 - if + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,u64>#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + local.get $3 + i32.load offset=16 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz if (result i32) - local.get $0 - i32.load offset=4 + local.get $3 + i32.load + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $1 + call $~lib/string/String.__eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/map/Map<~lib/string/String,u64>#rehash + if + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,u64>#set:entriesOffset - local.get $6 - i32.const 24 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry<~lib/string/String,u64>#set:key - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,u64>#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,u64>#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext - local.get $6 - local.get $4 - i32.store end - local.get $0 - local.set $7 + i32.const 0 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/console/console.time (param $0 i32) (local $1 i32) @@ -5964,11 +5684,6 @@ i32.store local.get $2 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/map/Map<~lib/string/String,u64>#has if local.get $1 @@ -5981,11 +5696,6 @@ call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 i32.const 4304 @@ -6008,11 +5718,6 @@ i32.store local.get $2 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/process/process.hrtime call $~lib/map/Map<~lib/string/String,u64>#set drop @@ -6021,61 +5726,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,u64>#get (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i64) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,u64>#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 4560 - i32.const 4624 - i32.const 105 - i32.const 17 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i64.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) (func $~lib/console/timeLogImpl (param $0 i32) (local $1 i64) (local $2 i64) @@ -6102,11 +5752,6 @@ i32.store local.get $7 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 call $~lib/map/Map<~lib/string/String,u64>#get local.set $1 call $~lib/process/process.hrtime @@ -6124,39 +5769,29 @@ i32.const 10 call $~lib/number/U64#toString local.tee $5 - i32.store offset=8 + i32.store offset=4 global.get $~lib/process/process.stdout local.set $6 local.get $6 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 call $~lib/process/WritableStream#write<~lib/string/String> local.get $6 i32.const 6448 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store offset=4 + i32.store offset=8 local.get $7 call $~lib/process/WritableStream#write<~lib/string/String> local.get $6 local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 call $~lib/process/WritableStream#write<~lib/string/String> local.get $6 i32.const 6480 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store offset=4 + i32.store offset=8 local.get $7 call $~lib/process/WritableStream#write<~lib/string/String> global.get $~lib/memory/__stack_pointer @@ -6168,182 +5803,56 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/process/process.stdout - local.set $1 - global.get $~lib/console/timers - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/map/Map<~lib/string/String,u64>#has - i32.eqz - if - local.get $1 - i32.const 4400 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 4480 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/console/timeLogImpl - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map<~lib/string/String,u64>#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/process/process.stdout + local.set $1 + global.get $~lib/console/timers + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,u64>#find - local.set $2 local.get $2 + local.get $0 + call $~lib/map/Map<~lib/string/String,u64>#has i32.eqz if - i32.const 0 - local.set $6 + local.get $1 + i32.const 4400 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 4480 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 return end - local.get $2 - local.get $2 - i32.load offset=16 - i32.const 1 - i32.or - call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map<~lib/string/String,u64>#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map<~lib/string/String,u64>#rehash - end - i32.const 1 - local.set $6 + call $~lib/console/timeLogImpl global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) (func $~lib/console/console.timeEnd (param $0 i32) (local $1 i32) @@ -6365,11 +5874,6 @@ i32.store local.get $2 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/map/Map<~lib/string/String,u64>#has i32.eqz if @@ -6383,11 +5887,6 @@ call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 i32.const 6512 @@ -6404,11 +5903,6 @@ return end local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $~lib/console/timeLogImpl global.get $~lib/console/timers local.set $2 @@ -6417,11 +5911,6 @@ i32.store local.get $2 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/map/Map<~lib/string/String,u64>#delete drop global.get $~lib/memory/__stack_pointer @@ -6688,6 +6177,129 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/map/Map<~lib/string/String,u64>#set (param $0 i32) (param $1 i32) (param $2 i64) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map<~lib/string/String,u64>#find + local.set $4 + local.get $4 + if + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,u64>#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,u64>#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,u64>#set:entriesOffset + local.get $6 + i32.const 24 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry<~lib/string/String,u64>#set:key + i32.const 1 + drop + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,u64>#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,u64>#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry<~lib/string/String,u64>#set:taggedNext + local.get $6 + local.get $4 + i32.store + end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) diff --git a/tests/compiler/std-wasi/crypto.optimized.wat b/tests/compiler/std-wasi/crypto.optimized.wat index 801c477100..94640f460f 100644 --- a/tests/compiler/std-wasi/crypto.optimized.wat +++ b/tests/compiler/std-wasi/crypto.optimized.wat @@ -1,8 +1,8 @@ (module (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) @@ -443,6 +443,131 @@ i32.lt_u select ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + i32.const 0 + i32.const 12 + i32.store + i32.const 12 + i64.const 9071471065260641 + i64.store + local.get $0 + if (result i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 19 + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 19 + i32.add + else + i32.const 19 + end + local.tee $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + if + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $4 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $4 + i32.add + local.set $4 + end + local.get $4 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.tee $0 + local.get $4 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $2 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $2 + i32.const 10 + i32.div_u + local.tee $2 + br_if $do-continue|0 + end + local.get $0 + local.get $4 + i32.add + local.tee $0 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.tee $1 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|1 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $3 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $3 + i32.const 10 + i32.div_u + local.tee $3 + br_if $do-continue|1 + end + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 2601 + i32.store16 + i32.const 4 + local.get $0 + i32.const 10 + i32.sub + i32.store + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) local.get $0 local.get $0 @@ -2543,6 +2668,31 @@ end i32.const 4560 ) + (func $~lib/crypto/crypto.getRandomValues (param $0 i32) + local.get $0 + i32.load + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub + i32.add + local.get $0 + i32.load offset=8 + call $~lib/bindings/wasi_snapshot_preview1/random_get + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4608 + i32.const 9 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + ) (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) loop $do-continue|0 local.get $0 @@ -2769,684 +2919,331 @@ end end ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - call $~lib/rt/itcms/__link - ) - (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1568 - i32.const 159 - i32.const 45 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer + (func $~lib/process/writeString (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + i32.const -1 + local.set $4 + i32.const -1 + local.set $1 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + end + local.get $0 + i32.load16_u offset=6 + local.tee $1 + i32.const 128 + i32.ge_u + br_if $break|0 + end local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + i32.load16_u offset=4 + local.tee $4 + i32.const 128 + i32.ge_u + br_if $break|0 end - return + local.get $0 + i32.load16_u offset=2 + local.tee $3 + i32.const 128 + i32.ge_u + br_if $break|0 end - return - end - unreachable - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std-wasi/crypto - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 5364 - i32.lt_s - if - i32.const 21776 - i32.const 21824 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - i32.store - i32.const 12 - i64.const 9071471065260641 - i64.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $2 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $2 - i32.const 10 - i32.div_u - local.tee $2 - br_if $do-continue|0 - end - local.get $0 - local.get $4 - i32.add - local.tee $0 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.tee $1 - local.get $0 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|1 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $3 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $3 - i32.const 10 - i32.div_u - local.tee $3 - br_if $do-continue|1 - end - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 2601 - i32.store16 - i32.const 4 - local.get $0 - i32.const 10 - i32.sub - i32.store - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $4 - local.get $1 - i32.lt_u - if - i32.const 1360 - i32.const 1568 - i32.const 1826 - i32.const 5 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $2 - i32.const -1 - i32.eq - if (result i32) + local.get $0 + i32.load16_u + local.tee $2 + i32.const 128 + i32.ge_u + br_if $break|0 + i32.const 5136 + i32.const 5144 + i32.store + i32.const 5140 + local.get $3 + i32.const -1 + i32.ne + i32.const 1 + i32.add local.get $4 + i32.const -1 + i32.ne + i32.add local.get $1 - i32.sub - else - i32.const 1056 - i32.const 1568 - i32.const 1835 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - local.set $0 - else - local.get $4 - local.get $1 - local.get $2 - local.tee $0 - i32.add - i32.lt_s - if - i32.const 1056 - i32.const 1568 - i32.const 1840 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $3 - i32.store - local.get $2 - local.get $3 - call $~lib/rt/itcms/__link - local.get $2 - local.get $0 - i32.store offset=8 - local.get $2 - local.get $1 - local.get $3 - i32.add - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/crypto/crypto.getRandomValues (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.add - local.get $0 - i32.load offset=8 - call $~lib/bindings/wasi_snapshot_preview1/random_get - local.tee $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4608 - i32.const 9 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $3 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - local.tee $1 - local.get $1 - local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $1 - i32.sub - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4736 - return - end - i32.const 0 - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.eq - local.get $1 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4736 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_u - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.const -1 + i32.ne + i32.add i32.store - block $__inlined_func$~lib/util/number/utoa32 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 4960 - local.set $0 - br $__inlined_func$~lib/util/number/utoa32 - end - local.get $1 - call $~lib/util/number/decimalCount32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 5144 + local.get $2 + local.get $3 + i32.const 8 + i32.shl + i32.or + local.get $4 + i32.const 16 + i32.shl + i32.or + local.get $1 + i32.const 24 + i32.shl + i32.or + i32.store + i32.const 1 + i32.const 5136 + i32.const 1 + i32.const 5148 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.tee $0 + i32.const 65535 + i32.and + if local.get $0 - local.get $1 - local.get $2 - call $~lib/util/number/utoa_dec_simple - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 5184 + i32.const 178 + i32.const 16 + call $~lib/wasi/index/abort + unreachable end - br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - i32.const 5088 - i32.store - global.get $~lib/memory/__stack_pointer + return + end + local.get $0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.add + local.set $3 + loop $while-continue|0 + local.get $1 local.get $3 - i32.const 5084 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 + i32.lt_u + if + local.get $1 + i32.load16_u + local.tee $4 + i32.const 128 + i32.lt_u + if (result i32) local.get $2 i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 i32.add - local.set $2 + else local.get $4 - if - local.get $1 + i32.const 2048 + i32.lt_u + if (result i32) local.get $2 - i32.const 1 - i32.shl + i32.const 2 i32.add - i32.const 5088 + else + local.get $3 + local.get $1 + i32.const 2 + i32.add + i32.gt_u + i32.const 0 local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + select + if + local.get $1 + i32.load16_u offset=2 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end local.get $2 - local.get $4 + i32.const 3 i32.add - local.set $2 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store + local.set $2 local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + i32.const 2 + i32.add + local.set $1 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + end + local.get $2 + call $~lib/rt/tlsf/__alloc + local.set $1 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $1 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $2 + i32.ne + if + i32.const 0 + i32.const 5184 + i32.const 184 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + i32.const 5136 + local.get $1 + i32.store + i32.const 5140 + local.get $2 + i32.store + i32.const 1 + i32.const 5136 + i32.const 1 + i32.const 5144 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $0 + local.get $1 + call $~lib/rt/tlsf/__free + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 5184 + i32.const 189 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + call $~lib/rt/itcms/__link + ) + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 159 + i32.const 45 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner0 + block $invalid + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + end + return + end + return + end + unreachable + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + ) + (func $~start + global.get $~started + if return end + i32.const 1 + global.set $~started + call $start:std-wasi/crypto + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 5364 + i32.lt_s + if + i32.const 21776 + i32.const 21824 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end ) (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer i32.const 5088 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.store local.get $0 i32.load offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5088 - i32.store call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3455,55 +3252,34 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4656 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 5120 - i32.store - i32.const 5120 - local.set $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store offset=4 - i32.const 4652 - i32.load - i32.const 1 - i32.shr_u - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 block $__inlined_func$~lib/string/String#concat - local.get $1 - i32.const 1 - i32.shl - local.tee $2 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 5120 + i32.store + i32.const 5120 + local.set $0 + end local.get $0 i32.const 20 i32.sub @@ -3513,12 +3289,19 @@ i32.const 1 i32.shl local.tee $3 + i32.const 4652 + i32.load + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $2 i32.add local.tee $1 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 4736 @@ -3530,7 +3313,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=8 + i32.store offset=4 local.get $1 i32.const 4656 local.get $2 @@ -3542,293 +3325,362 @@ local.get $3 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/process/writeString (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/console/console.log (param $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 5248 + i32.store + i32.const 5248 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:std-wasi/crypto + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + memory.size + i32.const 16 + i32.shl + i32.const 21748 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1280 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1312 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1456 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 8 + call $~lib/memory/memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $std-wasi/crypto/ab + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + call $~lib/crypto/crypto.getRandomValues + global.get $~lib/memory/__stack_pointer + i32.const 4656 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b1 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 + i32.store + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 + call $~lib/crypto/crypto.getRandomValues + global.get $~lib/memory/__stack_pointer + i32.const 4656 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store - i32.const -1 - local.set $3 - i32.const -1 - local.set $4 - i32.const -1 - local.set $1 + local.get $0 + call $~lib/console/console.log global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store local.get $0 + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/ab + local.tee $0 i32.store - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 - end - local.get $0 - i32.load16_u offset=6 - local.tee $1 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=4 - local.tee $4 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=2 - local.tee $3 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u - local.tee $2 - i32.const 128 - i32.ge_u - br_if $break|0 - i32.const 5136 - i32.const 5144 + local.get $0 + i32.const 0 + i32.const -1 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + loop $for-loop|0 + local.get $1 + i32.const 4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 i32.store - i32.const 5140 - local.get $3 - i32.const -1 - i32.ne - i32.const 1 - i32.add - local.get $4 - i32.const -1 - i32.ne - i32.add + local.get $0 local.get $1 - i32.const -1 - i32.ne - i32.add + call $~lib/typedarray/Uint8Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/b1 + local.tee $0 i32.store - i32.const 5144 - local.get $2 - local.get $3 - i32.const 8 - i32.shl - i32.or - local.get $4 - i32.const 16 - i32.shl - i32.or + local.get $0 local.get $1 - i32.const 24 - i32.shl - i32.or - i32.store - i32.const 1 - i32.const 5136 - i32.const 1 - i32.const 5148 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.tee $0 - i32.const 65535 - i32.and + call $~lib/typedarray/Uint8Array#__get + local.get $2 + i32.ne if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5184 - i32.const 178 - i32.const 16 + i32.const 0 + i32.const 5280 + i32.const 17 + i32.const 3 call $~lib/wasi/index/abort unreachable end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.set $1 i32.const 0 - local.set $2 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.add - local.set $3 - loop $while-continue|0 + local.set $1 + loop $for-loop|1 local.get $1 - local.get $3 - i32.lt_u + i32.const 4 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/buf + local.tee $0 + i32.store + local.get $0 local.get $1 - i32.load16_u - local.tee $4 - i32.const 128 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1 - i32.add - else - local.get $4 - i32.const 2048 - i32.lt_u - if (result i32) - local.get $2 - i32.const 2 - i32.add - else - local.get $3 - local.get $1 - i32.const 2 - i32.add - i32.gt_u - i32.const 0 - local.get $4 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - select - if - local.get $1 - i32.load16_u offset=2 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - if - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $2 - i32.const 3 - i32.add - end + i32.const 4 + i32.add + call $~lib/typedarray/Uint8Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + global.get $std-wasi/crypto/b2 + local.tee $0 + i32.store + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array#__get + local.get $2 + i32.ne + if + i32.const 0 + i32.const 5280 + i32.const 20 + i32.const 3 + call $~lib/wasi/index/abort + unreachable end - local.set $2 local.get $1 - i32.const 2 + i32.const 1 i32.add local.set $1 - br $while-continue|0 + br $for-loop|1 end end - local.get $2 - call $~lib/rt/tlsf/__alloc - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store local.get $0 - local.get $0 i32.const 20 i32.sub i32.load offset=16 - i32.const 1 - i32.shr_u + local.tee $4 local.get $1 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $2 - i32.ne + i32.lt_u if - i32.const 0 - i32.const 5184 - i32.const 184 - i32.const 3 + i32.const 1360 + i32.const 1568 + i32.const 1826 + i32.const 5 call $~lib/wasi/index/abort unreachable end - i32.const 5136 - local.get $1 - i32.store - i32.const 5140 local.get $2 - i32.store - i32.const 1 - i32.const 5136 - i32.const 1 - i32.const 5144 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $0 - local.get $1 - call $~lib/rt/tlsf/__free - local.get $0 - i32.const 65535 - i32.and + i32.const 0 + i32.lt_s if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5184 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable + local.get $2 + i32.const -1 + i32.eq + if (result i32) + local.get $4 + local.get $1 + i32.sub + else + i32.const 1056 + i32.const 1568 + i32.const 1835 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end + local.set $3 + else + local.get $4 + local.get $2 + local.tee $3 + local.get $1 + i32.add + i32.lt_s + if + i32.const 1056 + i32.const 1568 + i32.const 1840 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 i32.store - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store + local.get $2 local.get $0 - call $~lib/process/writeString + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $1 + i32.add + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/console/console.log (param $0 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3837,201 +3689,286 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 0 local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 5248 - i32.store - i32.const 5248 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $3 + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $2 + i32.lt_s + select + local.tee $1 + local.get $1 + local.get $3 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 local.get $1 + local.get $1 + local.get $3 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $1 + i32.sub + local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4736 + return end - local.get $1 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $1 - i32.const 0 - i32.store offset=4 + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.eq local.get $1 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 1073741820 - i32.gt_u + select if - i32.const 1056 - i32.const 1104 - i32.const 18 - i32.const 57 - call $~lib/wasi/index/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 + local.get $3 + i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store local.get $2 local.get $0 - call $~lib/memory/memory.fill - local.get $1 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $1 - local.get $2 - i32.store offset=4 local.get $1 - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store + local.get $3 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 ) - (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - local.get $0 - i32.load offset=8 - local.tee $1 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 + i32.const 1 i32.sub - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 - i32.load offset=4 - local.get $2 - local.get $0 - i32.load offset=4 - i32.add - local.get $3 - call $~lib/memory/memory.copy + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4736 + return + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i32.load8_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa32 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4960 + local.set $0 + br $__inlined_func$~lib/util/number/utoa32 + end + local.get $1 + call $~lib/util/number/decimalCount32 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $1 + local.get $2 + call $~lib/util/number/utoa_dec_simple + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 5084 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 5088 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 ) - (func $start:std-wasi/crypto - (local $0 i32) + (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (result i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - memory.size - i32.const 16 - i32.shl - i32.const 21748 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1280 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1312 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1456 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $2 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4041,196 +3978,109 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 0 + i32.const 12 + i32.const 3 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store - local.get $0 - i32.const 8 - call $~lib/memory/memory.fill - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - global.set $std-wasi/crypto/ab global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/ab - local.tee $0 - i32.store - local.get $0 + local.get $2 i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array.wrap - global.set $std-wasi/crypto/buf + local.get $2 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $7 + i32.sub + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.set $3 global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - call $~lib/crypto/crypto.getRandomValues + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 4656 + i64.const 0 + i64.store + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + end + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $1 + i32.const 0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store offset=12 - local.get $0 - call $~lib/typedarray/Uint8Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.const 0 i32.store offset=8 - local.get $0 - call $~lib/string/String.__concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - call $~lib/typedarray/Uint8Array#slice - global.set $std-wasi/crypto/b1 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/ab - local.tee $0 - i32.store - local.get $0 - i32.const 4 - i32.const 4 - call $~lib/typedarray/Uint8Array.wrap - global.set $std-wasi/crypto/buf - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - call $~lib/crypto/crypto.getRandomValues + local.get $3 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 18 + i32.const 57 + call $~lib/wasi/index/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4656 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store offset=12 - local.get $0 - call $~lib/typedarray/Uint8Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $4 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $3 i32.store offset=8 - local.get $0 - call $~lib/string/String.__concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/console/console.log global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 i32.store - local.get $0 - call $~lib/typedarray/Uint8Array#slice - global.set $std-wasi/crypto/b2 global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/ab - local.tee $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 i32.store + local.get $1 + i32.load offset=4 + local.get $7 local.get $0 - i32.const 0 - i32.const -1 - call $~lib/typedarray/Uint8Array.wrap - global.set $std-wasi/crypto/buf - loop $for-loop|0 - local.get $1 - i32.const 4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/b1 - local.tee $0 - i32.store - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - local.get $2 - i32.ne - if - i32.const 0 - i32.const 5280 - i32.const 17 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/buf - local.tee $0 - i32.store - local.get $0 - local.get $1 - i32.const 4 - i32.add - call $~lib/typedarray/Uint8Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer - global.get $std-wasi/crypto/b2 - local.tee $0 - i32.store - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - local.get $2 - i32.ne - if - i32.const 0 - i32.const 5280 - i32.const 20 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end + i32.load offset=4 + i32.add + local.get $2 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) ) diff --git a/tests/compiler/std-wasi/crypto.untouched.wat b/tests/compiler/std-wasi/crypto.untouched.wat index 99bc93fb05..74f12ae1e3 100644 --- a/tests/compiler/std-wasi/crypto.untouched.wat +++ b/tests/compiler/std-wasi/crypto.untouched.wat @@ -438,6 +438,162 @@ local.get $1 i32.store offset=4 ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + i32.const 0 + i32.const 12 + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf + i32.const 12 + local.set $4 + local.get $4 + i64.const 9071471065260641 + i64.store + local.get $4 + i32.const 7 + i32.add + local.set $4 + local.get $0 + i32.const 0 + i32.ne + if + local.get $4 + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + i32.const 0 + i32.ne + if + local.get $4 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + local.tee $5 + i32.const 1 + i32.add + local.set $4 + local.get $5 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|0 + local.get $2 + i32.const 10 + i32.div_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $2 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $5 + local.set $2 + local.get $2 + local.set $7 + local.get $7 + br_if $do-continue|0 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|1 + local.get $3 + i32.const 10 + i32.div_u + local.set $7 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $3 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $7 + local.set $3 + local.get $3 + local.set $8 + local.get $8 + br_if $do-continue|1 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + i32.const 2601 + i32.store16 + local.get $4 + i32.const 2 + i32.add + local.set $4 + i32.const 0 + local.get $4 + i32.const 12 + i32.sub + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3459,6 +3615,30 @@ end i32.const 3536 ) + (func $~lib/crypto/crypto.getRandomValues (param $0 i32) + (local $1 i32) + local.get $0 + i32.load + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.add + local.get $0 + i32.load offset=8 + call $~lib/bindings/wasi_snapshot_preview1/random_get + local.set $1 + local.get $1 + i32.const 65535 + i32.and + if + local.get $1 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3584 + i32.const 9 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + ) (func $~lib/typedarray/Uint8Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=8 @@ -5141,6 +5321,14 @@ end end ) + (func $~lib/typedarray/Uint8Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Uint8Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) (func $~lib/string/String.UTF8.byteLength (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -5245,1032 +5433,6 @@ end local.get $4 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint8Array.wrap - ) - (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 159 - i32.const 45 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_u - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $std-wasi/crypto/ab - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/crypto/buf - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/crypto/b1 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/crypto/b2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 336 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 144 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 4368 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 5424 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/typedarray/Uint8Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array~visit - return - end - unreachable - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std-wasi/crypto - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 22208 - i32.const 22256 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf - i32.const 12 - local.set $4 - local.get $4 - i64.const 9071471065260641 - i64.store - local.get $4 - i32.const 7 - i32.add - local.set $4 - local.get $0 - i32.const 0 - i32.ne - if - local.get $4 - local.get $0 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - i32.const 0 - i32.ne - if - local.get $4 - local.get $1 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - local.tee $5 - i32.const 1 - i32.add - local.set $4 - local.get $5 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|0 - local.get $2 - i32.const 10 - i32.div_u - local.set $5 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $2 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $5 - local.set $2 - local.get $2 - local.set $7 - local.get $7 - br_if $do-continue|0 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|1 - local.get $3 - i32.const 10 - i32.div_u - local.set $7 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $3 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $7 - local.set $3 - local.get $3 - local.set $8 - local.get $8 - br_if $do-continue|1 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - i32.const 2601 - i32.store16 - local.get $4 - i32.const 2 - i32.add - local.set $4 - i32.const 0 - local.get $4 - i32.const 12 - i32.sub - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 544 - i32.const 1826 - i32.const 5 - call $~lib/wasi/index/abort - unreachable - end - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 0 - i32.and - if - i32.const 32 - i32.const 544 - i32.const 1831 - i32.const 9 - call $~lib/wasi/index/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 544 - i32.const 1835 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - else - local.get $3 - i32.const 0 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 544 - i32.const 1840 - i32.const 7 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add - i32.store offset=4 - local.get $8 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/crypto/crypto.getRandomValues (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.add - local.get $0 - i32.load offset=8 - call $~lib/bindings/wasi_snapshot_preview1/random_get - local.set $1 - local.get $1 - i32.const 65535 - i32.and - if - local.get $1 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3584 - i32.const 9 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 - local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 - local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 - i32.eqz - if - i32.const 3712 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $8 - i32.eqz - if (result i32) - local.get $9 - local.get $3 - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 - local.get $0 - local.get $8 - i32.add - local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 3712 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_u - local.set $4 - i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - local.get $0 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/typedarray/Uint8Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint8Array#get:length - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 5520 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 5552 - local.tee $1 - i32.store - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 - local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.eq - if - i32.const 3712 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $2 - call $~lib/memory/memory.copy - local.get $5 - local.get $2 - i32.add - local.get $1 - local.get $3 - call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.const 5552 - local.get $0 - i32.const 0 - i32.ne - select - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String#concat - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $~lib/process/writeString (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -6280,15 +5442,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const -1 local.set $2 i32.const -1 @@ -6302,11 +5455,6 @@ block $case1|0 block $case0|0 local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 call $~lib/string/String#get:length local.set $5 local.get $5 @@ -6430,82 +5578,300 @@ unreachable end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - i32.const 0 - call $~lib/string/String.UTF8.byteLength - local.set $7 - local.get $7 - call $~lib/rt/tlsf/__alloc - local.set $8 - local.get $1 - local.get $1 - local.set $10 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + local.set $7 + local.get $7 + call $~lib/rt/tlsf/__alloc + local.set $8 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $8 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 5616 + i32.const 184 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/process/iobuf + local.get $8 + i32.store + global.get $~lib/process/iobuf + local.get $7 + i32.store offset=4 + local.get $0 + global.get $~lib/process/iobuf + i32.const 1 + global.get $~lib/process/iobuf + i32.const 2 + i32.const 4 + i32.mul + i32.add + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $9 + local.get $8 + call $~lib/rt/tlsf/__free + local.get $9 + i32.const 65535 + i32.and + if + local.get $9 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 5616 + i32.const 189 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) + i32.const 1 + drop + local.get $0 + local.get $1 + call $~lib/process/writeString + ) + (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array.wrap + ) + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 159 + i32.const 45 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $std-wasi/crypto/ab + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/crypto/buf + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/crypto/b1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/crypto/b2 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 336 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 144 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 4368 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 5424 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/typedarray/Uint8Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array~visit + return + end + unreachable + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std-wasi/crypto + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.get $8 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $7 - i32.eq - i32.eqz + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 0 - i32.const 5616 - i32.const 184 - i32.const 3 + i32.const 22208 + i32.const 22256 + i32.const 1 + i32.const 1 call $~lib/wasi/index/abort unreachable end - global.get $~lib/process/iobuf - local.get $8 + ) + (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - global.get $~lib/process/iobuf - local.get $7 - i32.store offset=4 local.get $0 - global.get $~lib/process/iobuf - i32.const 1 - global.get $~lib/process/iobuf - i32.const 2 + i32.const 5520 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.mul i32.add - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $9 - local.get $8 - call $~lib/rt/tlsf/__free - local.get $9 - i32.const 65535 - i32.and - if - local.get $9 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 5616 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable - end + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 5552 + local.get $0 + i32.const 0 + i32.ne + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $1 + call $~lib/string/String#concat + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) + (func $~lib/console/console.log (param $0 i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6515,96 +5881,308 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 1 - drop + global.get $~lib/process/process.stdout + local.set $1 + local.get $1 local.get $0 + call $~lib/process/WritableStream#write<~lib/string/String> local.get $1 + i32.const 5680 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:std-wasi/crypto + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 288 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 432 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + i32.const 8 + call $~lib/arraybuffer/ArrayBuffer#constructor + global.set $std-wasi/crypto/ab + global.get $std-wasi/crypto/ab + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/crypto/crypto.getRandomValues + i32.const 3632 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + local.get $2 + call $~lib/typedarray/Uint8Array#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/string/String.__concat + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/console/console.log + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b1 + global.get $std-wasi/crypto/ab + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 4 + i32.const 4 + call $~lib/typedarray/Uint8Array.wrap + global.set $std-wasi/crypto/buf + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/crypto/crypto.getRandomValues + i32.const 3632 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + global.get $std-wasi/crypto/buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store + i32.store offset=12 local.get $2 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.log (param $0 i32) - (local $1 i32) - (local $2 i32) + call $~lib/typedarray/Uint8Array#toString + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $2 + i32.store offset=8 + local.get $2 + call $~lib/string/String.__concat + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - local.get $0 + local.get $2 + call $~lib/console/console.log + global.get $std-wasi/crypto/buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 5680 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Uint8Array#slice + global.set $std-wasi/crypto/b2 + global.get $std-wasi/crypto/ab local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + global.set $std-wasi/crypto/buf + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + i32.const 4 + i32.lt_s + local.set $1 + local.get $1 + if + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + global.get $std-wasi/crypto/b1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 5712 + i32.const 17 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + i32.const 4 + i32.lt_s + local.set $1 + local.get $1 + if + global.get $std-wasi/crypto/buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 4 + local.get $0 + i32.add + call $~lib/typedarray/Uint8Array#__get + global.get $std-wasi/crypto/b2 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 5712 + i32.const 20 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz + i32.const 0 + i32.store + local.get $1 + i32.const 1073741820 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 32 + i32.const 80 + i32.const 49 + i32.const 43 + call $~lib/wasi/index/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 + call $~lib/rt/itcms/__new + local.tee $2 i32.store - local.get $0 - local.set $2 + local.get $2 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) - (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6613,365 +6191,400 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store + local.get $0 + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u local.get $4 i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 544 + i32.const 1826 + i32.const 5 + call $~lib/wasi/index/abort + unreachable + end + local.get $3 + i32.const 0 i32.lt_s - if (result i32) - local.get $4 - local.get $6 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 0 + i32.and + if + i32.const 32 + i32.const 544 + i32.const 1831 + i32.const 9 + call $~lib/wasi/index/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 544 + i32.const 1835 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) local.get $3 + i32.const 0 + i32.shl + local.set $6 + local.get $4 local.get $6 i32.add - local.tee $7 - i32.const 0 - local.tee $8 local.get $7 - local.get $8 i32.gt_s - select - else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + if + i32.const 32 + i32.const 544 + i32.const 1840 + i32.const 7 + call $~lib/wasi/index/abort + unreachable + end end - local.set $3 - local.get $3 - local.get $4 - i32.sub - local.tee $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new local.tee $8 - local.get $7 + i32.store local.get $8 - i32.gt_s - select - local.set $6 - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $8 + local.get $5 i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 local.get $6 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 i32.store offset=8 - local.get $7 - i32.load offset=4 + local.get $8 local.get $5 - i32.load offset=4 local.get $4 - i32.const 0 - i32.shl i32.add - local.get $6 - i32.const 0 - i32.shl - call $~lib/memory/memory.copy - local.get $7 + i32.store offset=4 + local.get $8 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $start:std-wasi/crypto - (local $0 i32) - (local $1 i32) + (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 256 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 288 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 432 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - i32.const 8 - call $~lib/arraybuffer/ArrayBuffer#constructor - global.set $std-wasi/crypto/ab - global.get $std-wasi/crypto/ab - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array.wrap - global.set $std-wasi/crypto/buf - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/crypto/crypto.getRandomValues - i32.const 3632 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $2 - call $~lib/typedarray/Uint8Array#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/string/String.__concat - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/console/console.log - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Uint8Array#slice - global.set $std-wasi/crypto/b1 - global.get $std-wasi/crypto/ab - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 4 - i32.const 4 - call $~lib/typedarray/Uint8Array.wrap - global.set $std-wasi/crypto/buf - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/crypto/crypto.getRandomValues - i32.const 3632 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $2 - call $~lib/typedarray/Uint8Array#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/string/String.__concat - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/console/console.log - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Uint8Array#slice - global.set $std-wasi/crypto/b2 - global.get $std-wasi/crypto/ab - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 i32.store - local.get $2 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - global.set $std-wasi/crypto/buf - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 + local.get $1 + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end + if + i32.const 3744 + i32.const 3872 + i32.const 350 + i32.const 5 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.eqz + if + i32.const 3936 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.lt_s - local.set $1 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $1 + i32.const 10 + i32.eq + if + local.get $0 + call $~lib/util/number/decimalCount32 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + else local.get $1 + i32.const 16 + i32.eq if - global.get $std-wasi/crypto/buf - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $0 - call $~lib/typedarray/Uint8Array#__get - global.get $std-wasi/crypto/b1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $0 - call $~lib/typedarray/Uint8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 5712 - i32.const 17 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end + i32.const 31 local.get $0 + i32.clz + i32.sub + i32.const 2 + i32.shr_s i32.const 1 i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - i32.const 4 - i32.lt_s - local.set $1 - local.get $1 - if - global.get $std-wasi/crypto/buf - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 i32.store local.get $2 - i32.const 4 + local.set $6 local.get $0 - i32.add - call $~lib/typedarray/Uint8Array#__get - global.get $std-wasi/crypto/b2 - local.set $2 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + i64.extend_i32_u + local.get $4 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + i64.extend_i32_u + local.get $1 + call $~lib/util/number/ulog_base + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 i32.store local.get $2 local.get $0 - call $~lib/typedarray/Uint8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 5712 - i32.const 20 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 + i64.extend_i32_u + local.get $3 + local.get $1 + call $~lib/util/number/utoa64_any_core end end + local.get $2 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $8 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 + i32.eqz + if + i32.const 3712 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 + local.get $3 + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $10 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store + local.get $11 + local.get $0 + local.get $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $12 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6981,174 +6594,230 @@ i32.const 0 i32.store local.get $1 - i32.const 1073741820 - i32.gt_u + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 32 - i32.const 80 - i32.const 49 - i32.const 43 - call $~lib/wasi/index/abort - unreachable + i32.const 3712 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 + i32.eqz + if + local.get $0 + i32.load8_u + local.set $4 + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 10 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 0 + local.get $6 + i32.const 1 + i32.shl + i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $7 i32.store - local.get $2 i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - local.set $3 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $11 ) - (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end - if - i32.const 3744 - i32.const 3872 - i32.const 350 - i32.const 5 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - i32.eqz + i32.const 0 + i32.eq if - i32.const 3936 - local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + i32.const 5552 + local.tee $1 + i32.store end + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $2 local.get $1 - i32.const 10 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $2 + local.get $3 + i32.add + local.set $4 + local.get $4 + i32.const 0 i32.eq if - local.get $0 - call $~lib/util/number/decimalCount32 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 + i32.const 3712 local.set $6 - local.get $0 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - else - local.get $1 - i32.const 16 - i32.eq - if - i32.const 31 - local.get $0 - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.set $6 - local.get $0 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - i64.extend_i32_u - local.get $4 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - i64.extend_i32_u - local.get $1 - call $~lib/util/number/ulog_base - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i64.extend_i32_u - local.get $3 - local.get $1 - call $~lib/util/number/utoa64_any_core - end + return end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $0 local.get $2 - local.set $7 + call $~lib/memory/memory.copy + local.get $5 + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/memory/memory.copy + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -7223,4 +6892,151 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $4 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $3 + local.get $3 + local.get $4 + i32.sub + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $6 + call $~lib/typedarray/Uint8Array#constructor + local.tee $7 + i32.store + local.get $7 + i32.load offset=4 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.get $6 + i32.const 0 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) ) diff --git a/tests/compiler/std-wasi/process.optimized.wat b/tests/compiler/std-wasi/process.optimized.wat index e4186dea2f..b6432771ad 100644 --- a/tests/compiler/std-wasi/process.optimized.wat +++ b/tests/compiler/std-wasi/process.optimized.wat @@ -2,8 +2,8 @@ (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_none (func)) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) @@ -473,6 +473,131 @@ i32.lt_u select ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + i32.const 0 + i32.const 12 + i32.store + i32.const 12 + i64.const 9071471065260641 + i64.store + local.get $0 + if (result i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 19 + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 19 + i32.add + else + i32.const 19 + end + local.tee $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + if + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $4 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $4 + i32.add + local.set $4 + end + local.get $4 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.tee $0 + local.get $4 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $2 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $2 + i32.const 10 + i32.div_u + local.tee $2 + br_if $do-continue|0 + end + local.get $0 + local.get $4 + i32.add + local.tee $0 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.tee $1 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|1 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $3 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $3 + i32.const 10 + i32.div_u + local.tee $3 + br_if $do-continue|1 + end + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 2601 + i32.store16 + i32.const 4 + local.get $0 + i32.const 10 + i32.sub + i32.store + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/bindings/wasi_snapshot_preview1/errnoToString (param $0 i32) (result i32) block $break|0 block $case76|0 @@ -1809,2200 +1934,1431 @@ local.get $1 call $~lib/rt/tlsf/insertBlock ) - (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) - local.get $0 - local.get $0 - i32.store offset=4 - local.get $0 - local.get $0 - i32.store offset=8 - local.get $0 - ) - (func $~lib/rt/itcms/visitRoots - (local $0 i32) + (func $~lib/process/writeString (param $0 i32) (local $1 i32) - i32.const 4336 - call $~lib/rt/itcms/__visit - i32.const 4416 - call $~lib/rt/itcms/__visit - global.get $~lib/process/process.argv - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $~lib/process/process.env - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/process/argv - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/process/env - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std-wasi/process/envKeys - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 4672 - call $~lib/rt/itcms/__visit - i32.const 4448 - call $~lib/rt/itcms/__visit - i32.const 4912 - call $~lib/rt/itcms/__visit - i32.const 5280 - call $~lib/rt/itcms/__visit - i32.const 4240 - call $~lib/rt/itcms/__visit - i32.const 5664 - call $~lib/rt/itcms/__visit - global.get $~lib/rt/itcms/pinSpace - local.tee $1 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - loop $while-continue|0 - local.get $0 - local.get $1 - i32.ne - if - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 4544 - i32.const 159 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - i32.const 20 - i32.add - call $~lib/rt/__visit_members - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - br $while-continue|0 - end - end - ) - (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - i32.or - i32.store offset=4 - ) - (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.or - i32.store offset=4 - ) - (func $~lib/rt/itcms/Object#linkTo (param $0 i32) (param $1 i32) (param $2 i32) + (local $2 i32) (local $3 i32) - local.get $1 - i32.load offset=8 + (local $4 i32) + i32.const -1 local.set $3 - local.get $0 - local.get $1 - local.get $2 - i32.or - i32.store offset=4 - local.get $0 - local.get $3 - i32.store offset=8 - local.get $3 - local.get $0 - call $~lib/rt/itcms/Object#set:next - local.get $1 - local.get $0 - i32.store offset=8 - ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $0 - i32.load offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 4544 - i32.const 147 - i32.const 30 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - global.set $~lib/rt/itcms/iter - end - block $__inlined_func$~lib/rt/itcms/Object#unlink - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz - if - i32.const 0 - local.get $0 - i32.const 22268 - i32.lt_u - local.get $0 - i32.load offset=8 - select - i32.eqz - if - i32.const 0 - i32.const 4544 - i32.const 127 - i32.const 18 - call $~lib/wasi/index/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 4544 - i32.const 131 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - local.get $2 - i32.store offset=8 - local.get $2 - local.get $1 - call $~lib/rt/itcms/Object#set:next - end - local.get $0 - global.get $~lib/rt/itcms/toSpace - local.get $0 - i32.load offset=12 - local.tee $1 - i32.const 1 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 5840 - i32.load - i32.gt_u - if - i32.const 4672 - i32.const 4736 - i32.const 22 - i32.const 28 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - i32.const 3 - i32.shl - i32.const 5844 - i32.add - i32.load - i32.const 32 - i32.and - end - if (result i32) - global.get $~lib/rt/itcms/white - i32.eqz - else - i32.const 2 - end - call $~lib/rt/itcms/Object#linkTo - ) - (func $~lib/rt/itcms/__visit (param $0 i32) - local.get $0 - i32.eqz - if - return - end - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - call $~lib/rt/itcms/Object#makeGray - global.get $~lib/rt/itcms/visitCount - i32.const 1 - i32.add - global.set $~lib/rt/itcms/visitCount - end - ) - (func $~lib/rt/itcms/step (result i32) - (local $0 i32) - (local $1 i32) - block $folding-inner0 - block $break|0 - block $case2|0 - block $case1|0 - block $case0|0 - global.get $~lib/rt/itcms/state - br_table $case0|0 $case1|0 $case2|0 $break|0 - end - i32.const 1 - global.set $~lib/rt/itcms/state - i32.const 0 - global.set $~lib/rt/itcms/visitCount - call $~lib/rt/itcms/visitRoots - global.get $~lib/rt/itcms/toSpace - global.set $~lib/rt/itcms/iter - br $folding-inner0 - end - global.get $~lib/rt/itcms/white - i32.eqz - local.set $1 - global.get $~lib/rt/itcms/iter - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - loop $while-continue|1 - local.get $0 - global.get $~lib/rt/itcms/toSpace - i32.ne - if - local.get $0 - global.set $~lib/rt/itcms/iter - local.get $1 - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.ne - if - local.get $0 - local.get $1 - call $~lib/rt/itcms/Object#set:color - i32.const 0 - global.set $~lib/rt/itcms/visitCount - local.get $0 - i32.const 20 - i32.add - call $~lib/rt/__visit_members - br $folding-inner0 - end - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - br $while-continue|1 - end - end - i32.const 0 - global.set $~lib/rt/itcms/visitCount - call $~lib/rt/itcms/visitRoots - global.get $~lib/rt/itcms/toSpace - global.get $~lib/rt/itcms/iter - i32.load offset=4 - i32.const -4 - i32.and - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.set $0 - loop $while-continue|0 - local.get $0 - i32.const 22268 - i32.lt_u - if - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 - end - end - global.get $~lib/rt/itcms/iter - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - loop $while-continue|2 - local.get $0 - global.get $~lib/rt/itcms/toSpace - i32.ne - if - local.get $1 - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.ne - if - local.get $0 - local.get $1 - call $~lib/rt/itcms/Object#set:color - local.get $0 - i32.const 20 - i32.add - call $~lib/rt/__visit_members - end - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - local.set $0 - br $while-continue|2 - end - end - global.get $~lib/rt/itcms/fromSpace - local.set $0 - global.get $~lib/rt/itcms/toSpace - global.set $~lib/rt/itcms/fromSpace - local.get $0 - global.set $~lib/rt/itcms/toSpace - local.get $1 - global.set $~lib/rt/itcms/white - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - global.set $~lib/rt/itcms/iter - i32.const 2 - global.set $~lib/rt/itcms/state - end - br $folding-inner0 - end - global.get $~lib/rt/itcms/iter - local.tee $0 - global.get $~lib/rt/itcms/toSpace - i32.ne - if - local.get $0 - i32.load offset=4 - i32.const -4 - i32.and - global.set $~lib/rt/itcms/iter - global.get $~lib/rt/itcms/white - i32.eqz - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.ne - if - i32.const 0 - i32.const 4544 - i32.const 228 - i32.const 20 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - i32.const 22268 - i32.lt_u - if - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - else - global.get $~lib/rt/itcms/total - local.get $0 - i32.load - i32.const -4 - i32.and - i32.const 4 - i32.add - i32.sub - global.set $~lib/rt/itcms/total - local.get $0 - i32.const 4 - i32.add - call $~lib/rt/tlsf/__free - end - i32.const 10 - return - end - global.get $~lib/rt/itcms/toSpace - global.get $~lib/rt/itcms/toSpace - i32.store offset=4 - global.get $~lib/rt/itcms/toSpace - global.get $~lib/rt/itcms/toSpace - i32.store offset=8 - i32.const 0 - global.set $~lib/rt/itcms/state - end - i32.const 0 - return - end - global.get $~lib/rt/itcms/visitCount - ) - (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) - (local $2 i32) - block $~lib/util/memory/memset|inlined.0 - local.get $1 - i32.eqz - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store8 - local.get $0 - local.get $1 - i32.add - i32.const 4 - i32.sub - local.tee $2 - i32.const 0 - i32.store8 offset=3 - local.get $1 - i32.const 2 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store8 offset=1 - local.get $0 - i32.const 0 - i32.store8 offset=2 - local.get $2 - i32.const 0 - i32.store8 offset=2 - local.get $2 - i32.const 0 - i32.store8 offset=1 - local.get $1 - i32.const 6 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store8 offset=3 - local.get $2 - i32.const 0 - i32.store8 - local.get $1 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.and - local.tee $2 - i32.add - local.tee $0 - i32.const 0 - i32.store - local.get $0 - local.get $1 - local.get $2 - i32.sub - i32.const -4 - i32.and - local.tee $2 - i32.add - i32.const 28 - i32.sub - local.tee $1 - i32.const 0 - i32.store offset=24 - local.get $2 - i32.const 8 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 0 - i32.store offset=20 - local.get $2 - i32.const 24 - i32.le_u - br_if $~lib/util/memory/memset|inlined.0 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 - local.get $0 - i32.const 0 - i32.store offset=24 - local.get $1 - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $0 - local.get $0 - i32.const 4 - i32.and - i32.const 24 - i32.add - local.tee $1 - i32.add - local.set $0 - local.get $2 - local.get $1 - i32.sub - local.set $1 - loop $while-continue|0 - local.get $1 - i32.const 32 - i32.ge_u - if - local.get $0 - i64.const 0 - i64.store - local.get $0 - i64.const 0 - i64.store offset=8 - local.get $0 - i64.const 0 - i64.store offset=16 - local.get $0 - i64.const 0 - i64.store offset=24 - local.get $1 - i32.const 32 - i32.sub - local.set $1 - local.get $0 - i32.const 32 - i32.add - local.set $0 - br $while-continue|0 - end - end - end - ) - (func $~lib/rt/itcms/__new (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.const 1073741804 - i32.ge_u - if - i32.const 4240 - i32.const 4544 - i32.const 260 - i32.const 31 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/rt/itcms/total - global.get $~lib/rt/itcms/threshold - i32.ge_u - if - block $__inlined_func$~lib/rt/itcms/interrupt - i32.const 2048 - local.set $2 - loop $do-continue|0 - local.get $2 - call $~lib/rt/itcms/step - i32.sub - local.set $2 - global.get $~lib/rt/itcms/state - i32.eqz - if - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt - end - local.get $2 - i32.const 0 - i32.gt_s - br_if $do-continue|0 - end - global.get $~lib/rt/itcms/total - global.get $~lib/rt/itcms/total - global.get $~lib/rt/itcms/threshold - i32.sub - i32.const 1024 - i32.lt_u - i32.const 10 - i32.shl - i32.add - global.set $~lib/rt/itcms/threshold - end - end - local.get $0 - i32.const 16 - i32.add - call $~lib/rt/tlsf/__alloc - i32.const 4 - i32.sub - local.tee $2 - local.get $1 - i32.store offset=12 - local.get $2 - local.get $0 - i32.store offset=16 - local.get $2 - global.get $~lib/rt/itcms/fromSpace - global.get $~lib/rt/itcms/white - call $~lib/rt/itcms/Object#linkTo - global.get $~lib/rt/itcms/total - local.get $2 - i32.load - i32.const -4 - i32.and - i32.const 4 - i32.add - i32.add - global.set $~lib/rt/itcms/total - local.get $2 - i32.const 20 - i32.add - local.tee $1 - local.get $0 - call $~lib/memory/memory.fill - local.get $1 - ) - (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.eqz - if - return - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 4544 - i32.const 294 - i32.const 14 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load offset=4 - i32.const 3 - i32.and - local.tee $3 - local.set $4 - local.get $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - if - local.get $0 - call $~lib/rt/itcms/Object#makeGray - else - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - i32.const 0 - local.get $4 - i32.const 3 - i32.eq - select - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (func $~lib/array/Array<~lib/string/String>#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $4 - local.get $0 - local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $4 - i32.const 8 - i32.sub - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $4 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $while-continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $0 - local.get $4 - i32.add - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $4 - i32.const 8 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $4 - if - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - local.tee $2 - i32.load - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $2 - local.get $1 - i32.store offset=16 - local.get $0 - return - end - local.get $1 - local.get $2 - i32.load offset=12 - call $~lib/rt/itcms/__new - local.tee $3 - local.get $0 - local.get $1 - local.get $2 - i32.load offset=16 - local.tee $0 - local.get $0 - local.get $1 - i32.gt_u - select - call $~lib/memory/memory.copy - local.get $3 - ) - (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 4448 - i32.const 4496 - i32.const 14 - i32.const 48 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - local.get $0 - i32.load - local.tee $4 - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.add - local.get $3 - local.get $2 - i32.sub - call $~lib/memory/memory.fill - local.get $1 - local.get $4 - i32.ne - if - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $0 - local.get $3 - i32.store offset=8 - end - ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $1 - i32.const 7 - i32.and - local.get $2 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $3 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $1 - i64.load - local.get $2 - i64.load - i64.eq - if - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 8 - i32.add - local.set $2 - local.get $3 - i32.const 4 - i32.sub + i32.const -1 + local.set $4 + i32.const -1 + local.set $1 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + end + local.get $0 + i32.load16_u offset=6 + local.tee $1 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $0 + i32.load16_u offset=4 + local.tee $4 + i32.const 128 + i32.ge_u + br_if $break|0 + end + local.get $0 + i32.load16_u offset=2 local.tee $3 - i32.const 4 + i32.const 128 i32.ge_u - br_if $do-continue|0 + br_if $break|0 end - end - end - loop $while-continue|1 - local.get $3 - local.tee $0 - i32.const 1 - i32.sub - local.set $3 - local.get $0 - if - local.get $1 - i32.load16_u - local.tee $0 - local.get $2 + local.get $0 i32.load16_u - local.tee $4 + local.tee $2 + i32.const 128 + i32.ge_u + br_if $break|0 + i32.const 1088 + i32.const 1096 + i32.store + i32.const 1092 + local.get $3 + i32.const -1 i32.ne - if - local.get $0 - local.get $4 - i32.sub - return - end + i32.const 1 + i32.add + local.get $4 + i32.const -1 + i32.ne + i32.add local.get $1 - i32.const 2 + i32.const -1 + i32.ne i32.add - local.set $1 + i32.store + i32.const 1096 local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|1 + local.get $3 + i32.const 8 + i32.shl + i32.or + local.get $4 + i32.const 16 + i32.shl + i32.or + local.get $1 + i32.const 24 + i32.shl + i32.or + i32.store + i32.const 1 + i32.const 1088 + i32.const 1 + i32.const 1100 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4112 + i32.const 178 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end end + return end - i32.const 0 - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store16 - local.get $1 - i32.const 10 - i32.div_u - local.tee $1 - br_if $do-continue|0 - end - ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000 - i64.lt_u - select - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000000 - i64.lt_u - select local.get $0 - i64.const 1000000000000000 - i64.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 10 - i64.rem_u - i32.wrap_i64 - i32.const 48 - i32.add - i32.store16 - local.get $1 - i64.const 10 - i64.div_u - local.tee $1 - i64.const 0 - i64.ne - br_if $do-continue|0 - end - ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $invalid - block $~lib/map/Map<~lib/string/String,~lib/string/String> - block $~lib/array/Array<~lib/string/String> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array<~lib/string/String> $~lib/map/Map<~lib/string/String,~lib/string/String> $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load offset=4 - local.tee $1 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.add + local.set $3 + loop $while-continue|0 + local.get $1 + local.get $3 + i32.lt_u + if + local.get $1 + i32.load16_u + local.tee $4 + i32.const 128 + i32.lt_u + if (result i32) local.get $2 + i32.const 1 + i32.add + else + local.get $4 + i32.const 2048 i32.lt_u - if + if (result i32) + local.get $2 + i32.const 2 + i32.add + else + local.get $3 local.get $1 - i32.load - local.tee $3 + i32.const 2 + i32.add + i32.gt_u + i32.const 0 + local.get $4 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + select if - local.get $3 - call $~lib/rt/itcms/__visit + local.get $1 + i32.load16_u offset=2 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end end - local.get $1 - i32.const 4 + local.get $2 + i32.const 3 i32.add - local.set $1 - br $while-continue|0 end end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|0 end + end + local.get $2 + call $~lib/rt/tlsf/__alloc + local.set $1 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $1 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $2 + i32.ne + if + i32.const 0 + i32.const 4112 + i32.const 184 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1088 + local.get $1 + i32.store + i32.const 1092 + local.get $2 + i32.store + i32.const 1 + i32.const 1088 + i32.const 1 + i32.const 1096 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $0 + local.get $1 + call $~lib/rt/tlsf/__free + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4112 + i32.const 189 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.store offset=8 + local.get $0 + ) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 4336 + call $~lib/rt/itcms/__visit + i32.const 4416 + call $~lib/rt/itcms/__visit + global.get $~lib/process/process.argv + local.tee $0 + if local.get $0 - i32.load call $~lib/rt/itcms/__visit + end + global.get $~lib/process/process.env + local.tee $0 + if local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 + call $~lib/rt/itcms/__visit + end + global.get $std-wasi/process/argv + local.tee $0 + if local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $0 - loop $while-continue|00 - local.get $0 - local.get $1 - i32.gt_u - if - local.get $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $1 - i32.load - call $~lib/rt/itcms/__visit - local.get $1 - i32.load offset=4 - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 12 - i32.add - local.set $1 - br $while-continue|00 - end - end - local.get $2 call $~lib/rt/itcms/__visit - return end - unreachable - ) - (func $~start - global.get $~started + global.get $std-wasi/process/env + local.tee $0 if - return + local.get $0 + call $~lib/rt/itcms/__visit end - i32.const 1 - global.set $~started - call $start:std-wasi/process - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 5884 - i32.lt_s + global.get $std-wasi/process/envKeys + local.tee $0 if - i32.const 22288 - i32.const 22336 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 4672 + call $~lib/rt/itcms/__visit + i32.const 4448 + call $~lib/rt/itcms/__visit + i32.const 4912 + call $~lib/rt/itcms/__visit + i32.const 5280 + call $~lib/rt/itcms/__visit + i32.const 4240 + call $~lib/rt/itcms/__visit + i32.const 5664 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 4544 + i32.const 159 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|0 + end end ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - i32.store - i32.const 12 - i64.const 9071471065260641 - i64.store + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + i32.or + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#linkTo (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 + local.set $3 local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 - i32.const 40 - i32.store8 local.get $2 - call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $2 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $2 - i32.const 10 - i32.div_u - local.tee $2 - br_if $do-continue|0 - end + i32.or + i32.store offset=4 local.get $0 - local.get $4 - i32.add - local.tee $0 - i32.const 58 - i32.store8 local.get $3 - call $~lib/util/number/decimalCount32 - local.tee $1 + i32.store offset=8 + local.get $3 local.get $0 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|1 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $3 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $3 - i32.const 10 - i32.div_u - local.tee $3 - br_if $do-continue|1 - end + call $~lib/rt/itcms/Object#set:next local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 2601 - i32.store16 - i32.const 4 local.get $0 - i32.const 10 - i32.sub - i32.store - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 ) - (func $~lib/process/writeString (param $0 i32) + (func $~lib/rt/itcms/Object#makeGray (param $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const -1 - local.set $3 - i32.const -1 - local.set $4 - i32.const -1 - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 - end - local.get $0 - i32.load16_u offset=6 - local.tee $1 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=4 - local.tee $4 - i32.const 128 - i32.ge_u - br_if $break|0 - end - local.get $0 - i32.load16_u offset=2 - local.tee $3 - i32.const 128 - i32.ge_u - br_if $break|0 - end + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 4544 + i32.const 147 + i32.const 30 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + i32.const 0 local.get $0 - i32.load16_u - local.tee $2 - i32.const 128 - i32.ge_u - br_if $break|0 - i32.const 1088 - i32.const 1096 - i32.store - i32.const 1092 - local.get $3 - i32.const -1 - i32.ne - i32.const 1 - i32.add - local.get $4 - i32.const -1 - i32.ne - i32.add - local.get $1 - i32.const -1 - i32.ne - i32.add - i32.store - i32.const 1096 - local.get $2 - local.get $3 - i32.const 8 - i32.shl - i32.or - local.get $4 - i32.const 16 - i32.shl - i32.or - local.get $1 - i32.const 24 - i32.shl - i32.or - i32.store - i32.const 1 - i32.const 1088 - i32.const 1 - i32.const 1100 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.tee $0 - i32.const 65535 - i32.and + i32.const 22268 + i32.lt_u + local.get $0 + i32.load offset=8 + select + i32.eqz if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4112 - i32.const 178 - i32.const 16 + i32.const 0 + i32.const 4544 + i32.const 127 + i32.const 18 call $~lib/wasi/index/abort unreachable end + br $__inlined_func$~lib/rt/itcms/Object#unlink end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return + local.get $0 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 4544 + i32.const 131 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:next end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + global.get $~lib/rt/itcms/toSpace local.get $0 - local.set $1 - i32.const 0 - local.set $2 + i32.load offset=12 + local.tee $1 + i32.const 1 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 5840 + i32.load + i32.gt_u + if + i32.const 4672 + i32.const 4736 + i32.const 22 + i32.const 28 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + i32.const 3 + i32.shl + i32.const 5844 + i32.add + i32.load + i32.const 32 + i32.and + end + if (result i32) + global.get $~lib/rt/itcms/white + i32.eqz + else + i32.const 2 + end + call $~lib/rt/itcms/Object#linkTo + ) + (func $~lib/rt/itcms/__visit (param $0 i32) local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white local.get $0 i32.const 20 i32.sub - i32.load offset=16 - i32.add - local.set $3 - loop $while-continue|0 - local.get $1 - local.get $3 - i32.lt_u - if - local.get $1 - i32.load16_u - local.tee $4 - i32.const 128 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1 - i32.add - else - local.get $4 - i32.const 2048 - i32.lt_u - if (result i32) - local.get $2 - i32.const 2 - i32.add - else - local.get $3 - local.get $1 - i32.const 2 - i32.add - i32.gt_u + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $0 i32) + (local $1 i32) + block $folding-inner0 + block $break|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/rt/itcms/state + br_table $case0|0 $case1|0 $case2|0 $break|0 + end + i32.const 1 + global.set $~lib/rt/itcms/state i32.const 0 - local.get $4 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - select + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/iter + br $folding-inner0 + end + global.get $~lib/rt/itcms/white + i32.eqz + local.set $1 + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|1 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne if + local.get $0 + global.set $~lib/rt/itcms/iter local.get $1 - i32.load16_u offset=2 - i32.const 64512 + local.get $0 + i32.load offset=4 + i32.const 3 i32.and - i32.const 56320 - i32.eq + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + br $folding-inner0 + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|1 + end + end + i32.const 0 + global.set $~lib/rt/itcms/visitCount + call $~lib/rt/itcms/visitRoots + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.set $0 + loop $while-continue|0 + local.get $0 + i32.const 22268 + i32.lt_u if - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 i32.const 4 i32.add - local.set $1 + local.set $0 br $while-continue|0 end end - local.get $2 - i32.const 3 + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $1 + call $~lib/rt/itcms/Object#set:color + local.get $0 + i32.const 20 + i32.add + call $~lib/rt/__visit_members + end + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $0 + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $0 + global.set $~lib/rt/itcms/toSpace + local.get $1 + global.set $~lib/rt/itcms/white + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + i32.const 2 + global.set $~lib/rt/itcms/state + end + br $folding-inner0 + end + global.get $~lib/rt/itcms/iter + local.tee $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + global.set $~lib/rt/itcms/iter + global.get $~lib/rt/itcms/white + i32.eqz + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.ne + if + i32.const 0 + i32.const 4544 + i32.const 228 + i32.const 20 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + i32.const 22268 + i32.lt_u + if + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + else + global.get $~lib/rt/itcms/total + local.get $0 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.sub + global.set $~lib/rt/itcms/total + local.get $0 + i32.const 4 i32.add + call $~lib/rt/tlsf/__free end + i32.const 10 + return end - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|0 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state end - end - local.get $2 - call $~lib/rt/tlsf/__alloc - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $1 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $2 - i32.ne - if i32.const 0 - i32.const 4112 - i32.const 184 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - i32.const 1088 - local.get $1 - i32.store - i32.const 1092 - local.get $2 - i32.store - i32.const 1 - i32.const 1088 - i32.const 1 - i32.const 1096 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $0 - local.get $1 - call $~lib/rt/tlsf/__free - local.get $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4112 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.log (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4304 - i32.store - i32.const 4304 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/visitCount ) - (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if + (func $~lib/memory/memory.fill (param $0 i32) (param $1 i32) + (local $2 i32) + block $~lib/util/memory/memset|inlined.0 + local.get $1 + i32.eqz + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store8 + local.get $0 local.get $1 + i32.add + i32.const 4 + i32.sub + local.tee $2 i32.const 0 - i32.lt_s - if - i32.const 4672 - i32.const 4496 - i32.const 108 - i32.const 22 - call $~lib/wasi/index/abort - unreachable - end + i32.store8 offset=3 + local.get $1 + i32.const 2 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store8 offset=1 local.get $0 + i32.const 0 + i32.store8 offset=2 + local.get $2 + i32.const 0 + i32.store8 offset=2 + local.get $2 + i32.const 0 + i32.store8 offset=1 local.get $1 - i32.const 1 + i32.const 6 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store8 offset=3 + local.get $2 + i32.const 0 + i32.store8 + local.get $1 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.and + local.tee $2 i32.add - local.tee $3 - call $~lib/array/ensureSize + local.tee $0 + i32.const 0 + i32.store local.get $0 - local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.const -4 + i32.and + local.tee $2 + i32.add + i32.const 28 + i32.sub + local.tee $1 + i32.const 0 + i32.store offset=24 + local.get $2 + i32.const 8 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + local.get $2 + i32.const 24 + i32.le_u + br_if $~lib/util/memory/memset|inlined.0 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=16 + local.get $0 + i32.const 0 + i32.store offset=20 + local.get $0 + i32.const 0 + i32.store offset=24 + local.get $1 + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 i32.store offset=12 + local.get $0 + local.get $0 + i32.const 4 + i32.and + i32.const 24 + i32.add + local.tee $1 + i32.add + local.set $0 + local.get $2 + local.get $1 + i32.sub + local.set $1 + loop $while-continue|0 + local.get $1 + i32.const 32 + i32.ge_u + if + local.get $0 + i64.const 0 + i64.store + local.get $0 + i64.const 0 + i64.store offset=8 + local.get $0 + i64.const 0 + i64.store offset=16 + local.get $0 + i64.const 0 + i64.store offset=24 + local.get $1 + i32.const 32 + i32.sub + local.set $1 + local.get $0 + i32.const 32 + i32.add + local.set $0 + br $while-continue|0 + end + end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/process/lazyArgv (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/rt/itcms/__new (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - i32.const 1088 - i32.const 1092 - call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get - local.tee $0 - i32.const 65535 - i32.and + local.get $0 + i32.const 1073741804 + i32.ge_u if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4112 - i32.const 66 - i32.const 12 + i32.const 4240 + i32.const 4544 + i32.const 260 + i32.const 31 call $~lib/wasi/index/abort unreachable end - i32.const 1088 - i32.load - local.tee $0 - i32.const 2 - i32.shl - local.tee $1 - i32.const 1092 - i32.load + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.ge_u + if + block $__inlined_func$~lib/rt/itcms/interrupt + i32.const 2048 + local.set $2 + loop $do-continue|0 + local.get $2 + call $~lib/rt/itcms/step + i32.sub + local.set $2 + global.get $~lib/rt/itcms/state + i32.eqz + if + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-continue|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + local.get $0 + i32.const 16 i32.add - local.tee $5 call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub local.tee $2 local.get $1 + i32.store offset=12 + local.get $2 + local.get $0 + i32.store offset=16 + local.get $2 + global.get $~lib/rt/itcms/fromSpace + global.get $~lib/rt/itcms/white + call $~lib/rt/itcms/Object#linkTo + global.get $~lib/rt/itcms/total + local.get $2 + i32.load + i32.const -4 + i32.and + i32.const 4 + i32.add + i32.add + global.set $~lib/rt/itcms/total local.get $2 + i32.const 20 i32.add - call $~lib/bindings/wasi_snapshot_preview1/args_get local.tee $1 - i32.const 65535 - i32.and + local.get $0 + call $~lib/memory/memory.fill + local.get $1 + ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.eqz if - local.get $1 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 4112 - i32.const 73 - i32.const 12 + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 4544 + i32.const 294 + i32.const 14 call $~lib/wasi/index/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub local.tee $1 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $0 - i32.store - loop $for-loop|0 - local.get $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + local.set $4 local.get $3 - i32.gt_s + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq if - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $4 + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + else + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + i32.const 0 local.get $4 - local.get $5 - i32.add - local.get $2 - i32.sub - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.eq + select + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $~lib/array/Array<~lib/string/String>#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $2 + local.set $4 + local.get $0 + local.get $1 + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $4 + i32.const 8 + i32.sub + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $4 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $while-continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and local.get $0 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $0 + local.get $4 + i32.add + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $4 + i32.const 8 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $4 + if + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end end end - local.get $2 - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/string/String#indexOf (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store - i32.const 5100 - i32.load - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + local.get $1 local.get $0 i32.const 20 i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz + local.tee $2 + i32.load + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 + local.get $2 + local.get $1 + i32.store offset=16 + local.get $0 return end - i32.const 0 local.get $1 + local.get $2 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $3 + local.get $0 + local.get $1 + local.get $2 + i32.load offset=16 + local.tee $0 + local.get $0 local.get $1 - i32.const 0 - i32.gt_s + i32.gt_u select - local.set $2 - local.get $1 + call $~lib/memory/memory.copy local.get $3 - i32.sub - local.set $1 - loop $for-loop|0 + ) + (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 4448 + i32.const 4496 + i32.const 14 + i32.const 48 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + local.get $0 + i32.load + local.tee $4 local.get $1 + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.add + local.get $3 local.get $2 - i32.ge_s + i32.sub + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + i32.ne if - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 5104 + local.get $0 + local.get $1 i32.store offset=4 local.get $0 - local.get $2 - i32.const 5104 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link end + local.get $0 + local.get $3 + i32.store offset=8 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - i32.const 0 local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $3 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $3 - i32.gt_s - select - local.tee $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $1 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 4672 + i32.const 4496 + i32.const 108 + i32.const 22 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $0 + i32.load offset=4 local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - local.get $2 - local.get $3 - i32.lt_s - select - i32.const 1 + i32.const 2 i32.shl - local.tee $4 - local.get $3 + i32.add local.get $2 + i32.store + local.get $0 local.get $2 - local.get $3 - i32.gt_s - select i32.const 1 - i32.shl - local.tee $2 - i32.sub - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5136 - return - end + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 i32.const 0 - local.get $4 + call $~lib/rt/itcms/__link + ) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + local.get $0 local.get $1 i32.const 1 i32.shl - i32.eq + i32.add + local.tee $1 + i32.const 7 + i32.and local.get $2 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $3 + i32.const 4 + i32.ge_u select if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + loop $do-continue|0 + local.get $1 + i64.load + local.get $2 + i64.load + i64.eq + if + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $3 + i32.const 4 + i32.sub + local.tee $3 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $3 + local.tee $0 + i32.const 1 + i32.sub + local.set $3 local.get $0 - return + if + local.get $1 + i32.load16_u + local.tee $0 + local.get $2 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $0 + local.get $4 + i32.sub + return + end + local.get $1 + i32.const 2 + i32.add + local.set $1 + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|1 + end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $2 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 ) (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) (local $1 i32) @@ -4012,26 +3368,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 0 - local.get $0 - i32.eqz - br_if $~lib/util/hash/hashStr|inlined.0 - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $0 + if (result i32) local.get $0 local.tee $1 i32.const 20 @@ -4211,410 +3549,475 @@ i32.const 16 i32.shr_u i32.xor + else + i32.const 0 + end + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.load + local.tee $7 + i32.store offset=8 + local.get $2 + local.get $7 + i32.store + local.get $2 + local.get $8 + i32.load offset=4 + i32.store offset=4 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=8 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 + end + local.get $8 + i32.const 12 + i32.add + local.set $8 + br $while-continue|0 + end end + local.get $0 + local.get $6 + call $~lib/array/Array<~lib/string/String>#set:buffer + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) + loop $do-continue|0 + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store16 + local.get $1 + i32.const 10 + i32.div_u + local.tee $1 + br_if $do-continue|0 + end + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) local.get $0 - i32.load - local.get $2 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i64.const 10000000000 + i64.ge_u i32.add - i32.load - local.set $0 - loop $while-continue|0 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000 + i64.lt_u + select + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000000 + i64.lt_u + select + local.get $0 + i64.const 1000000000000000 + i64.lt_u + select + ) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) + loop $do-continue|0 local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $4 - i32.const 1 - i32.and - if - i32.const 0 - local.set $2 - else - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 10 + i64.rem_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store16 + local.get $1 + i64.const 10 + i64.div_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 + end + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $invalid + block $~lib/map/Map<~lib/string/String,~lib/string/String> + block $~lib/array/Array<~lib/string/String> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array<~lib/string/String> $~lib/map/Map<~lib/string/String,~lib/string/String> $invalid + end + return + end + return + end local.get $0 i32.load - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $__inlined_func$~lib/string/String.__eq + local.get $2 + i32.lt_u + if local.get $1 - local.get $2 - i32.eq + i32.load + local.tee $3 if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - local.set $2 - br $__inlined_func$~lib/string/String.__eq - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $2 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - i32.const 0 - local.get $1 local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String.__eq + call $~lib/rt/itcms/__visit end - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $2 + local.set $1 + br $while-continue|0 end end - local.get $2 + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.tee $2 + local.tee $1 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $0 + loop $while-continue|00 + local.get $0 + local.get $1 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + call $~lib/rt/itcms/__visit + local.get $1 + i32.load offset=4 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + local.set $1 + br $while-continue|00 end - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 end + local.get $2 + call $~lib/rt/itcms/__visit + return + end + unreachable + ) + (func $~start + global.get $~started + if + return end + i32.const 1 + global.set $~started + call $start:std-wasi/process + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 + i32.const 5884 + i32.lt_s + if + i32.const 22288 + i32.const 22336 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + (func $~lib/console/console.log (param $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.load - local.tee $7 - i32.store offset=8 - local.get $2 - local.get $7 - i32.store - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH<~lib/string/String> - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $8 - i32.const 12 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries - local.get $0 - local.get $5 - i32.store offset=12 local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4304 + i32.store + i32.const 4304 + call $~lib/process/writeString + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store - local.get $1 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.load + local.get $2 local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $2 + loop $while-continue|0 local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + local.get $2 + i32.load offset=8 + local.tee $3 + i32.const 1 + i32.and if (result i32) - local.get $0 - i32.load offset=4 + i32.const 0 else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load + local.tee $0 + i32.store + block $__inlined_func$~lib/string/String.__eq (result i32) + i32.const 1 + local.get $0 + local.get $1 + i32.eq + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $__inlined_func$~lib/string/String.__eq + drop + local.get $0 + i32.const 0 + local.get $1 + local.get $4 + call $~lib/util/string/compareImpl + i32.eqz + end end - call $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + local.get $3 + i32.const -2 + i32.and + local.set $2 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) (func $~lib/process/lazyEnv (result i32) (local $0 i32) @@ -4625,8 +4028,9 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -4636,9 +4040,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 i32.const 1088 i32.const 1092 call $~lib/bindings/wasi_snapshot_preview1/environ_sizes_get @@ -4656,18 +4057,18 @@ end i32.const 1088 i32.load - local.tee $6 + local.tee $7 i32.const 2 i32.shl local.tee $0 i32.const 1092 i32.load i32.add - local.tee $7 + local.tee $8 call $~lib/rt/tlsf/__alloc - local.tee $2 + local.tee $4 local.get $0 - local.get $2 + local.get $4 i32.add call $~lib/bindings/wasi_snapshot_preview1/environ_get local.tee $0 @@ -4695,127 +4096,165 @@ i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $0 + local.get $1 i32.const 3 i32.store offset=4 - local.get $0 + local.get $1 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries - local.get $0 + local.get $1 i32.const 4 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store offset=16 - local.get $0 + local.get $1 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store loop $for-loop|0 - local.get $3 - local.get $6 + local.get $5 + local.get $7 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $3 + local.get $4 + local.get $5 i32.const 2 i32.shl i32.add i32.load - local.tee $1 - local.get $1 - local.get $7 + local.tee $0 + local.get $0 + local.get $8 i32.add - local.get $2 + local.get $4 i32.sub call $~lib/string/String.UTF8.decodeUnsafe - local.tee $1 + local.tee $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 5104 - i32.store offset=12 - local.get $1 - call $~lib/string/String#indexOf - local.tee $4 + i32.store offset=8 + block $__inlined_func$~lib/string/String#indexOf + i32.const 5100 + i32.load + i32.const 1 + i32.shr_u + local.tee $6 + i32.eqz + if + i32.const 0 + local.set $0 + br $__inlined_func$~lib/string/String#indexOf + end + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + i32.eqz + if + i32.const -1 + local.set $0 + br $__inlined_func$~lib/string/String#indexOf + end + i32.const 0 + local.get $2 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $0 + local.get $2 + local.get $6 + i32.sub + local.set $2 + loop $for-loop|00 + local.get $0 + local.get $2 + i32.le_s + if + local.get $3 + local.get $0 + i32.const 5104 + local.get $6 + call $~lib/util/string/compareImpl + i32.eqz + br_if $__inlined_func$~lib/string/String#indexOf + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const -1 + local.set $0 + end + local.get $0 i32.const -1 i32.xor if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $1 + local.get $3 i32.const 0 - local.get $4 + local.get $0 call $~lib/string/String#substring - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $1 - local.get $4 + local.get $2 + i32.store offset=8 + local.get $3 + local.get $0 i32.const 1 i32.add i32.const 2147483647 call $~lib/string/String#substring - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 local.get $0 - local.get $5 + i32.store offset=12 local.get $1 + local.get $2 + local.get $0 call $~lib/map/Map<~lib/string/String,~lib/string/String>#set else - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 5136 - i32.store offset=16 - local.get $0 + i32.store offset=12 local.get $1 + local.get $3 i32.const 5136 call $~lib/map/Map<~lib/string/String,~lib/string/String>#set end - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end - local.get $2 + local.get $4 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 ) (func $start:std-wasi/process (local $0 i32) @@ -4826,7 +4265,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -4834,8 +4273,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store @@ -4884,33 +4323,33 @@ call $~lib/console/console.log global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/argv - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.load offset=12 local.set $2 loop $for-loop|0 - local.get $1 + local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/argv - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - local.get $0 - call $~lib/console/console.log local.get $1 + call $~lib/console/console.log + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end @@ -4920,40 +4359,37 @@ global.set $std-wasi/process/env global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/env - local.tee $1 + local.tee $2 i32.store i32.const 0 local.set $0 i32.const 0 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 + local.get $2 i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.load offset=16 local.tee $6 call $~lib/array/Array<~lib/string/String>#constructor - local.tee $1 + local.tee $2 i32.store loop $for-loop|00 - local.get $2 + local.get $1 local.get $6 i32.lt_s if local.get $4 - local.get $2 + local.get $1 i32.const 12 i32.mul i32.add @@ -4963,15 +4399,12 @@ i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $5 i32.load local.tee $5 - i32.store offset=8 - local.get $1 + i32.store offset=4 + local.get $2 local.get $0 local.get $5 call $~lib/array/Array<~lib/string/String>#__set @@ -4980,27 +4413,24 @@ i32.add local.set $0 end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|00 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 local.get $0 call $~lib/array/ensureSize - local.get $1 + local.get $2 local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 global.set $std-wasi/process/envKeys global.get $~lib/memory/__stack_pointer i32.const 5168 @@ -5008,77 +4438,51 @@ i32.const 5168 call $~lib/console/console.log i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/envKeys - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.load offset=12 - local.set $4 + local.set $2 loop $for-loop|1 - local.get $1 - local.get $4 + local.get $0 + local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/envKeys - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 + local.get $0 call $~lib/array/Array<~lib/string/String>#__get - local.tee $0 + local.tee $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 5216 i32.store offset=4 i32.const 5216 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 + call $~lib/process/writeString + local.get $1 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer i32.const 5248 i32.store offset=4 i32.const 5248 - call $~lib/process/WritableStream#write<~lib/string/String> + call $~lib/process/writeString global.get $~lib/memory/__stack_pointer global.get $std-wasi/process/env - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $4 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $2 - local.get $0 - local.get $0 + local.get $4 + local.get $1 + local.get $1 call $~lib/util/hash/HASH<~lib/string/String> call $~lib/map/Map<~lib/string/String,~lib/string/String>#find - local.tee $0 + local.tee $1 i32.eqz if i32.const 5280 @@ -5088,22 +4492,17 @@ call $~lib/wasi/index/abort unreachable end - local.get $0 - i32.load offset=4 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.load offset=4 + local.tee $1 i32.store - local.get $0 - call $~lib/console/console.log local.get $1 + call $~lib/console/console.log + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|1 end end @@ -5116,11 +4515,11 @@ i64.const 1000000 i32.const 1088 call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.tee $1 + local.tee $0 i32.const 65535 i32.and if - local.get $1 + local.get $0 call $~lib/bindings/wasi_snapshot_preview1/errnoToString i32.const 4112 i32.const 53 @@ -5133,11 +4532,11 @@ i64.const 1000000 i64.div_u call $~lib/util/number/itoa64 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer i32.const 5760 @@ -5148,11 +4547,11 @@ i64.const 0 i32.const 1088 call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.tee $1 + local.tee $0 i32.const 65535 i32.and if - local.get $1 + local.get $0 call $~lib/bindings/wasi_snapshot_preview1/errnoToString i32.const 4112 i32.const 59 @@ -5180,7 +4579,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 5632 - local.set $1 + local.set $0 br $__inlined_func$~lib/util/number/utoa64 end local.get $3 @@ -5191,34 +4590,34 @@ i32.wrap_i64 local.tee $2 call $~lib/util/number/decimalCount32 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $2 local.get $0 + local.get $2 + local.get $1 call $~lib/util/number/utoa_dec_simple else local.get $3 call $~lib/util/number/decimalCount64High - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 - local.get $3 local.get $0 + local.get $3 + local.get $1 call $~lib/util/number/utoa_dec_simple end global.get $~lib/memory/__stack_pointer @@ -5227,9 +4626,9 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 + local.get $0 call $~lib/console/console.log global.get $~lib/memory/__stack_pointer i32.const 5808 @@ -5239,7 +4638,7 @@ i32.const 42 call $~lib/bindings/wasi_snapshot_preview1/proc_exit global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5507,14 +4906,118 @@ end end local.get $2 - local.get $1 - local.get $2 - i32.sub - call $~lib/rt/itcms/__renew + local.get $1 + local.get $2 + i32.sub + call $~lib/rt/itcms/__renew + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/process/lazyArgv (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 1088 + i32.const 1092 + call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get + local.tee $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4112 + i32.const 66 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + i32.const 1088 + i32.load + local.tee $0 + i32.const 2 + i32.shl + local.tee $1 + i32.const 1092 + i32.load + i32.add + local.tee $5 + call $~lib/rt/tlsf/__alloc + local.tee $2 + local.get $1 + local.get $2 + i32.add + call $~lib/bindings/wasi_snapshot_preview1/args_get + local.tee $1 + i32.const 65535 + i32.and + if + local.get $1 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 4112 + i32.const 73 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $1 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $0 + i32.store + loop $for-loop|0 + local.get $1 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $4 + local.get $4 + local.get $5 + i32.add + local.get $2 + i32.sub + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $4 + i32.store offset=4 + local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -5599,6 +5102,226 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $3 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $3 + i32.gt_s + select + local.tee $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + local.get $2 + local.get $3 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + local.get $2 + local.get $2 + local.get $3 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $2 + i32.sub + local.tee $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 5136 + return + end + i32.const 0 + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + local.get $2 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + local.get $0 + local.get $2 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + local.tee $4 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/number/itoa64 (param $0 i64) (result i32) (local $1 i32) (local $2 i32) diff --git a/tests/compiler/std-wasi/process.untouched.wat b/tests/compiler/std-wasi/process.untouched.wat index 9bee08f7ef..bc8bad5708 100644 --- a/tests/compiler/std-wasi/process.untouched.wat +++ b/tests/compiler/std-wasi/process.untouched.wat @@ -460,6 +460,162 @@ local.get $1 i32.store offset=4 ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + i32.const 0 + i32.const 12 + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf + i32.const 12 + local.set $4 + local.get $4 + i64.const 9071471065260641 + i64.store + local.get $4 + i32.const 7 + i32.add + local.set $4 + local.get $0 + i32.const 0 + i32.ne + if + local.get $4 + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + i32.const 0 + i32.ne + if + local.get $4 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + local.tee $5 + i32.const 1 + i32.add + local.set $4 + local.get $5 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|0 + local.get $2 + i32.const 10 + i32.div_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $2 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $5 + local.set $2 + local.get $2 + local.set $7 + local.get $7 + br_if $do-continue|0 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|1 + local.get $3 + i32.const 10 + i32.div_u + local.set $7 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $3 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $7 + local.set $3 + local.get $3 + local.set $8 + local.get $8 + br_if $do-continue|1 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + i32.const 2601 + i32.store16 + local.get $4 + i32.const 2 + i32.add + local.set $4 + i32.const 0 + local.get $4 + i32.const 12 + i32.sub + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/bindings/wasi_snapshot_preview1/errnoToString (param $0 i32) (result i32) (local $1 i32) block $break|0 @@ -2646,192 +2802,401 @@ call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) - local.get $0 - local.get $0 - call $~lib/rt/itcms/Object#set:nextWithColor - local.get $0 - local.get $0 - call $~lib/rt/itcms/Object#set:prev - local.get $0 - ) - (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - i32.const 3 - i32.const -1 - i32.xor - i32.and - ) - (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - ) - (func $~lib/rt/itcms/visitRoots (param $0 i32) - (local $1 i32) + (func $~lib/process/writeString (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - local.get $0 - call $~lib/rt/__visit_globals - global.get $~lib/rt/itcms/pinSpace - local.set $1 - local.get $1 - call $~lib/rt/itcms/Object#get:next + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const -1 local.set $2 - loop $while-continue|0 - local.get $2 - local.get $1 - i32.ne - local.set $3 - local.get $3 - if - i32.const 1 - drop - local.get $2 - call $~lib/rt/itcms/Object#get:color - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 3520 - i32.const 159 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i32.const 20 - i32.add - local.get $0 - call $~lib/rt/__visit_members - local.get $2 - call $~lib/rt/itcms/Object#get:next - local.set $2 - br $while-continue|0 - end - end - ) - (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) - local.get $0 - local.get $0 - i32.load offset=4 - i32.const 3 i32.const -1 - i32.xor - i32.and - local.get $1 - i32.or - call $~lib/rt/itcms/Object#set:nextWithColor - ) - (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - local.get $0 - i32.load offset=4 - i32.const 3 - i32.and - i32.or - call $~lib/rt/itcms/Object#set:nextWithColor - ) - (func $~lib/rt/itcms/Object#unlink (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - call $~lib/rt/itcms/Object#get:next - local.set $1 - local.get $1 - i32.const 0 - i32.eq - if - i32.const 1 - drop - local.get $0 - i32.load offset=8 - i32.const 0 - i32.eq - if (result i32) + local.set $3 + i32.const -1 + local.set $4 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $1 + call $~lib/string/String#get:length + local.set $5 + local.get $5 + i32.const 4 + i32.eq + br_if $case0|0 + local.get $5 + i32.const 3 + i32.eq + br_if $case1|0 + local.get $5 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $5 + i32.const 1 + i32.eq + br_if $case3|0 + local.get $5 + i32.const 0 + i32.eq + br_if $case4|0 + br $break|0 + end + local.get $1 + i32.load16_u offset=6 + local.set $4 + local.get $4 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u offset=4 + local.set $3 + local.get $3 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u offset=2 + local.set $2 + local.get $2 + i32.const 128 + i32.ge_s + if + br $break|0 + end + end + local.get $1 + i32.load16_u + local.set $5 + local.get $5 + i32.const 128 + i32.ge_s + if + br $break|0 + end + global.get $~lib/process/iobuf + global.get $~lib/process/iobuf + i32.const 2 + i32.const 4 + i32.mul + i32.add + i32.store + global.get $~lib/process/iobuf + i32.const 1 + local.get $2 + i32.const -1 + i32.ne + i32.add + local.get $3 + i32.const -1 + i32.ne + i32.add + local.get $4 + i32.const -1 + i32.ne + i32.add + i32.store offset=4 + global.get $~lib/process/iobuf + local.get $5 + local.get $2 + i32.const 8 + i32.shl + i32.or + local.get $3 + i32.const 16 + i32.shl + i32.or + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store offset=8 local.get $0 - global.get $~lib/memory/__heap_base - i32.lt_u - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 3520 - i32.const 127 - i32.const 18 - call $~lib/wasi/index/abort - unreachable + global.get $~lib/process/iobuf + i32.const 1 + global.get $~lib/process/iobuf + i32.const 3 + i32.const 4 + i32.mul + i32.add + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $6 + local.get $6 + i32.const 65535 + i32.and + if + local.get $6 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3088 + i32.const 178 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end end return end - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 1 - drop - local.get $2 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + local.set $7 + local.get $7 + call $~lib/rt/tlsf/__alloc + local.set $8 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $8 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $7 + i32.eq i32.eqz if i32.const 0 - i32.const 3520 - i32.const 131 - i32.const 16 + i32.const 3088 + i32.const 184 + i32.const 3 call $~lib/wasi/index/abort unreachable end - local.get $1 - local.get $2 - call $~lib/rt/itcms/Object#set:prev - local.get $2 - local.get $1 - call $~lib/rt/itcms/Object#set:next - ) - (func $~lib/rt/__typeinfo (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/rt/__rtti_base - local.set $1 + global.get $~lib/process/iobuf + local.get $8 + i32.store + global.get $~lib/process/iobuf + local.get $7 + i32.store offset=4 local.get $0 - local.get $1 - i32.load - i32.gt_u + global.get $~lib/process/iobuf + i32.const 1 + global.get $~lib/process/iobuf + i32.const 2 + i32.const 4 + i32.mul + i32.add + call $~lib/bindings/wasi_snapshot_preview1/fd_write + local.set $9 + local.get $8 + call $~lib/rt/tlsf/__free + local.get $9 + i32.const 65535 + i32.and if - i32.const 3648 - i32.const 3712 - i32.const 22 - i32.const 28 + local.get $9 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3088 + i32.const 189 + i32.const 12 call $~lib/wasi/index/abort unreachable end + ) + (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) + i32.const 1 + drop + local.get $0 local.get $1 - i32.const 4 - i32.add + call $~lib/process/writeString + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 - i32.const 8 - i32.mul - i32.add - i32.load + local.get $1 + i32.store offset=4 ) - (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/rt/itcms/Object#set:prev (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - local.set $1 + local.get $1 + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $0 + local.get $0 + call $~lib/rt/itcms/Object#set:prev + local.get $0 + ) + (func $~lib/rt/itcms/Object#get:next (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + ) + (func $~lib/rt/itcms/Object#get:color (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + ) + (func $~lib/rt/itcms/visitRoots (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $1 + local.get $1 + call $~lib/rt/itcms/Object#get:next + local.set $2 + loop $while-continue|0 + local.get $2 + local.get $1 + i32.ne + local.set $3 + local.get $3 + if + i32.const 1 + drop + local.get $2 + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 3520 + i32.const 159 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i32.const 20 + i32.add + local.get $0 + call $~lib/rt/__visit_members + local.get $2 + call $~lib/rt/itcms/Object#get:next + local.set $2 + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $0 i32) (param $1 i32) + local.get $0 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $1 + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#set:next (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + call $~lib/rt/itcms/Object#get:next + local.set $1 + local.get $1 + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $0 + i32.load offset=8 + i32.const 0 + i32.eq + if (result i32) + local.get $0 + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 3520 + i32.const 127 + i32.const 18 + call $~lib/wasi/index/abort + unreachable + end + return + end + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 1 + drop + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 3520 + i32.const 131 + i32.const 16 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/rt/itcms/Object#set:prev + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/__typeinfo (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/rt/__rtti_base + local.set $1 + local.get $0 + local.get $1 + i32.load + i32.gt_u + if + i32.const 3648 + i32.const 3712 + i32.const 22 + i32.const 28 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.const 8 + i32.mul + i32.add + i32.load + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.load offset=12 + local.set $1 local.get $1 i32.const 1 i32.le_u @@ -4976,6 +5341,40 @@ i32.const 1 call $~lib/rt/itcms/__link ) + (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 3648 + i32.const 3472 + i32.const 108 + i32.const 22 + call $~lib/wasi/index/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array<~lib/string/String>#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__uset + ) (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 @@ -5125,256 +5524,392 @@ end i32.const 0 ) - (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - ) - (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array<~lib/string/String>#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 + (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $1 - call $~lib/array/Array<~lib/string/String>#set:length_ - ) - (func $~lib/process/process.time (result i64) - (local $0 i32) - i32.const 0 - i64.const 1000000 - global.get $~lib/process/iobuf - call $~lib/bindings/wasi_snapshot_preview1/clock_time_get - local.set $0 - local.get $0 - i32.const 65535 - i32.and + call $~lib/string/String#get:length + local.set $3 + local.get $3 + i32.eqz if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3088 - i32.const 53 - i32.const 14 - call $~lib/wasi/index/abort - unreachable + i32.const 0 + return end - global.get $~lib/process/iobuf - i64.load - i64.const 1000000 - i64.div_u + local.get $0 + call $~lib/string/String#get:length + local.set $4 + local.get $4 + i32.eqz + if + i32.const -1 + return + end + local.get $2 + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.tee $6 + local.get $4 + local.tee $5 + local.get $6 + local.get $5 + i32.lt_s + select + local.set $7 + local.get $4 + local.get $3 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $7 + local.get $4 + i32.le_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $7 + local.get $1 + i32.const 0 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $7 + return + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + i32.const -1 ) - (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) - (local $9 i64) + (local $8 i32) + (local $9 i32) (local $10 i32) (local $11 i32) - loop $while-continue|0 + (local $12 i32) + i32.const 1 + drop + block $~lib/util/hash/hashStr|inlined.0 (result i32) + local.get $0 + local.set $1 local.get $1 - i32.const 10000 - i32.ge_u + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/util/hash/hashStr|inlined.0 + end + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $2 + local.get $2 local.set $3 + local.get $1 + local.set $4 local.get $3 + i32.const 16 + i32.ge_u if - local.get $1 - i32.const 10000 - i32.div_u - local.set $4 - local.get $1 - i32.const 10000 - i32.rem_u + i32.const 0 + i32.const -1640531535 + i32.add + i32.const -2048144777 + i32.add local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 100 - i32.div_u + i32.const 0 + i32.const -2048144777 + i32.add local.set $6 - local.get $5 - i32.const 100 - i32.rem_u + i32.const 0 local.set $7 - i32.const 4620 - local.get $6 - i32.const 2 - i32.shl - i32.add - i64.load32_u + i32.const 0 + i32.const -1640531535 + i32.sub local.set $8 - i32.const 4620 - local.get $7 - i32.const 2 - i32.shl + local.get $3 + local.get $4 i32.add - i64.load32_u - local.set $9 - local.get $2 - i32.const 4 + i32.const 16 i32.sub - local.set $2 - local.get $0 + local.set $9 + loop $while-continue|0 + local.get $4 + local.get $9 + i32.le_u + local.set $10 + local.get $10 + if + local.get $5 + local.set $12 + local.get $4 + i32.load + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $5 + local.get $6 + local.set $12 + local.get $4 + i32.load offset=4 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $6 + local.get $7 + local.set $12 + local.get $4 + i32.load offset=8 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $7 + local.get $8 + local.set $12 + local.get $4 + i32.load offset=12 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $8 + local.get $4 + i32.const 16 + i32.add + local.set $4 + br $while-continue|0 + end + end local.get $2 + local.get $5 i32.const 1 - i32.shl + i32.rotl + local.get $6 + i32.const 7 + i32.rotl + i32.add + local.get $7 + i32.const 12 + i32.rotl i32.add local.get $8 - local.get $9 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 + i32.const 18 + i32.rotl + i32.add + i32.add + local.set $2 + else + local.get $2 + i32.const 0 + i32.const 374761393 + i32.add + i32.add + local.set $2 end - end - local.get $1 - i32.const 100 - i32.ge_u - if local.get $1 - i32.const 100 - i32.div_u - local.set $3 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.set $9 + loop $while-continue|1 + local.get $4 + local.get $9 + i32.le_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $4 + i32.const 4 + i32.add + local.set $4 + br $while-continue|1 + end + end local.get $1 - i32.const 100 - i32.rem_u - local.set $10 local.get $3 - local.set $1 + i32.add + local.set $9 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load8_u + i32.const 374761393 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 11 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $2 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|2 + end + end local.get $2 - i32.const 2 - i32.sub + local.get $2 + i32.const 15 + i32.shr_u + i32.xor local.set $2 - i32.const 4620 - local.get $10 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $1 - i32.const 10 - i32.ge_u - if + i32.const -2048144777 + i32.mul + local.set $2 local.get $2 - i32.const 2 - i32.sub + local.get $2 + i32.const 13 + i32.shr_u + i32.xor local.set $2 - i32.const 4620 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - else + i32.const -1028477379 + i32.mul + local.set $2 local.get $2 - i32.const 1 - i32.sub + local.get $2 + i32.const 16 + i32.shr_u + i32.xor local.set $2 - i32.const 48 - local.get $1 - i32.add - local.set $11 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 end + return ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 - i64.const 1000000000000000 - i64.lt_u + local.get $1 + i32.eq if - local.get $0 - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - return - end - unreachable + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 else - local.get $0 - i64.const 100000000000000000 - i64.lt_u - if - i32.const 16 - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - return - end - unreachable + local.get $1 + i32.const 0 + i32.eq end - unreachable + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz ) - (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -5382,66 +5917,241 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i64) - (local $13 i64) - loop $while-continue|0 - local.get $1 - i64.const 100000000 - i64.ge_u - local.set $3 - local.get $3 - if - local.get $1 - i64.const 100000000 - i64.div_u + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 + if + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.load + local.tee $12 + i32.store offset=8 + local.get $11 + local.get $12 + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key + local.get $11 + local.get $10 + i32.load offset=4 + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value + local.get $12 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 12 + i32.add + local.set $8 + end + local.get $6 + i32.const 12 + i32.add + local.set $6 + br $while-continue|0 + end + end + local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#set:length_ + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,~lib/string/String>#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 4256 + i32.const 4320 + i32.const 105 + i32.const 17 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/process/process.time (result i64) + (local $0 i32) + i32.const 0 + i64.const 1000000 + global.get $~lib/process/iobuf + call $~lib/bindings/wasi_snapshot_preview1/clock_time_get + local.set $0 + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3088 + i32.const 53 + i32.const 14 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/process/iobuf + i64.load + i64.const 1000000 + i64.div_u + ) + (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i32) + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $1 + i32.const 10000 + i32.div_u local.set $4 local.get $1 - local.get $4 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 + i32.const 10000 + i32.rem_u local.set $5 local.get $4 local.set $1 local.get $5 - i32.const 10000 + i32.const 100 i32.div_u local.set $6 local.get $5 - i32.const 10000 - i32.rem_u - local.set $7 - local.get $6 - i32.const 100 - i32.div_u - local.set $8 - local.get $6 i32.const 100 i32.rem_u - local.set $9 - local.get $7 - i32.const 100 - i32.div_u - local.set $10 - local.get $7 - i32.const 100 - i32.rem_u - local.set $11 + local.set $7 i32.const 4620 - local.get $10 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $12 + local.set $8 i32.const 4620 - local.get $11 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -5451,22 +6161,242 @@ i32.const 1 i32.shl i32.add - local.get $12 - local.get $13 + local.get $8 + local.get $9 i64.const 32 i64.shl i64.or i64.store - i32.const 4620 - local.get $8 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 4620 - local.get $9 - i32.const 2 + br $while-continue|0 + end + end + local.get $1 + i32.const 100 + i32.ge_u + if + local.get $1 + i32.const 100 + i32.div_u + local.set $3 + local.get $1 + i32.const 100 + i32.rem_u + local.set $10 + local.get $3 + local.set $1 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 4620 + local.get $10 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store + end + local.get $1 + i32.const 10 + i32.ge_u + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 4620 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store + else + local.get $2 + i32.const 1 + i32.sub + local.set $2 + i32.const 48 + local.get $1 + i32.add + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 1000000000000000 + i64.lt_u + if + local.get $0 + i64.const 1000000000000 + i64.lt_u + if + i32.const 10 + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + return + end + unreachable + else + local.get $0 + i64.const 100000000000000000 + i64.lt_u + if + i32.const 16 + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + return + end + unreachable + end + unreachable + ) + (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i64) + loop $while-continue|0 + local.get $1 + i64.const 100000000 + i64.ge_u + local.set $3 + local.get $3 + if + local.get $1 + i64.const 100000000 + i64.div_u + local.set $4 + local.get $1 + local.get $4 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $7 + local.get $6 + i32.const 100 + i32.div_u + local.set $8 + local.get $6 + i32.const 100 + i32.rem_u + local.set $9 + local.get $7 + i32.const 100 + i32.div_u + local.set $10 + local.get $7 + i32.const 100 + i32.rem_u + local.set $11 + i32.const 4620 + local.get $10 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 4620 + local.get $11 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + i32.const 4620 + local.get $8 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 4620 + local.get $9 + i32.const 2 i32.shl i32.add i64.load32_u @@ -5820,1900 +6750,315 @@ local.get $0 call $~lib/rt/itcms/__visit i32.const 5040 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 6096 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 1 - end - drop - local.get $2 - local.set $3 - local.get $3 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $4 - loop $while-continue|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 - if - local.get $3 - local.set $6 - local.get $6 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - i32.const 1 - drop - local.get $6 - i32.load - local.set $7 - i32.const 0 - drop - local.get $7 - local.get $1 - call $~lib/rt/itcms/__visit - i32.const 1 - drop - local.get $6 - i32.load offset=4 - local.set $7 - i32.const 0 - drop - local.get $7 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $3 - i32.const 12 - i32.add - local.set $3 - br $while-continue|0 - end - end - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/map/Map<~lib/string/String,~lib/string/String> - block $~lib/array/Array<~lib/string/String> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array<~lib/string/String> $~lib/map/Map<~lib/string/String,~lib/string/String> $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,~lib/string/String>~visit - return - end - unreachable - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std-wasi/process - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 22720 - i32.const 22768 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf - i32.const 12 - local.set $4 - local.get $4 - i64.const 9071471065260641 - i64.store - local.get $4 - i32.const 7 - i32.add - local.set $4 - local.get $0 - i32.const 0 - i32.ne - if - local.get $4 - local.get $0 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - i32.const 0 - i32.ne - if - local.get $4 - local.get $1 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - local.tee $5 - i32.const 1 - i32.add - local.set $4 - local.get $5 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|0 - local.get $2 - i32.const 10 - i32.div_u - local.set $5 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $2 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $5 - local.set $2 - local.get $2 - local.set $7 - local.get $7 - br_if $do-continue|0 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|1 - local.get $3 - i32.const 10 - i32.div_u - local.set $7 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $3 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $7 - local.set $3 - local.get $3 - local.set $8 - local.get $8 - br_if $do-continue|1 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - i32.const 2601 - i32.store16 - local.get $4 - i32.const 2 - i32.add - local.set $4 - i32.const 0 - local.get $4 - i32.const 12 - i32.sub - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/writeString (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const -1 - local.set $2 - i32.const -1 - local.set $3 - i32.const -1 - local.set $4 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.set $5 - local.get $5 - i32.const 4 - i32.eq - br_if $case0|0 - local.get $5 - i32.const 3 - i32.eq - br_if $case1|0 - local.get $5 - i32.const 2 - i32.eq - br_if $case2|0 - local.get $5 - i32.const 1 - i32.eq - br_if $case3|0 - local.get $5 - i32.const 0 - i32.eq - br_if $case4|0 - br $break|0 - end - local.get $1 - i32.load16_u offset=6 - local.set $4 - local.get $4 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u offset=4 - local.set $3 - local.get $3 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u offset=2 - local.set $2 - local.get $2 - i32.const 128 - i32.ge_s - if - br $break|0 - end - end - local.get $1 - i32.load16_u - local.set $5 - local.get $5 - i32.const 128 - i32.ge_s - if - br $break|0 - end - global.get $~lib/process/iobuf - global.get $~lib/process/iobuf - i32.const 2 - i32.const 4 - i32.mul - i32.add - i32.store - global.get $~lib/process/iobuf - i32.const 1 - local.get $2 - i32.const -1 - i32.ne - i32.add - local.get $3 - i32.const -1 - i32.ne - i32.add - local.get $4 - i32.const -1 - i32.ne - i32.add - i32.store offset=4 - global.get $~lib/process/iobuf - local.get $5 - local.get $2 - i32.const 8 - i32.shl - i32.or - local.get $3 - i32.const 16 - i32.shl - i32.or - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store offset=8 - local.get $0 - global.get $~lib/process/iobuf - i32.const 1 - global.get $~lib/process/iobuf - i32.const 3 - i32.const 4 - i32.mul - i32.add - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $6 - local.get $6 - i32.const 65535 - i32.and - if - local.get $6 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3088 - i32.const 178 - i32.const 16 - call $~lib/wasi/index/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - i32.const 0 - call $~lib/string/String.UTF8.byteLength - local.set $7 - local.get $7 - call $~lib/rt/tlsf/__alloc - local.set $8 - local.get $1 - local.get $1 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.get $8 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 3088 - i32.const 184 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/process/iobuf - local.get $8 - i32.store - global.get $~lib/process/iobuf - local.get $7 - i32.store offset=4 - local.get $0 - global.get $~lib/process/iobuf - i32.const 1 - global.get $~lib/process/iobuf - i32.const 2 - i32.const 4 - i32.mul - i32.add - call $~lib/bindings/wasi_snapshot_preview1/fd_write - local.set $9 - local.get $8 - call $~lib/rt/tlsf/__free - local.get $9 - i32.const 65535 - i32.and - if - local.get $9 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3088 - i32.const 189 - i32.const 12 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/WritableStream#write<~lib/string/String> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 1 - drop - local.get $0 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/writeString - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/console/console.log (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/process/process.stdout - local.set $1 - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - local.get $1 - i32.const 3280 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/process/WritableStream#write<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 3648 - i32.const 3472 - i32.const 108 - i32.const 22 - call $~lib/wasi/index/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/process/lazyArgv (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/process/iobuf - global.get $~lib/process/iobuf - i32.const 4 - i32.add - call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get - local.set $0 - local.get $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3088 - i32.const 66 - i32.const 12 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/process/iobuf - i32.load - local.set $1 - local.get $1 - i32.const 4 - i32.mul - local.set $2 - global.get $~lib/process/iobuf - i32.load offset=4 - local.set $3 - local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 - call $~lib/rt/tlsf/__alloc - local.set $5 - local.get $5 - local.get $5 - local.get $2 - i32.add - call $~lib/bindings/wasi_snapshot_preview1/args_get - local.set $0 - local.get $0 - i32.const 65535 - i32.and - if - local.get $0 - call $~lib/bindings/wasi_snapshot_preview1/errnoToString - i32.const 3088 - i32.const 73 - i32.const 12 - call $~lib/wasi/index/abort - unreachable - end - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $6 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $7 - i32.store - i32.const 0 - local.set $8 - loop $for-loop|0 - local.get $8 - local.get $6 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $5 - local.get $8 - i32.const 4 - i32.mul - i32.add - i32.load - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - local.get $10 - local.get $4 - i32.add - local.get $5 - i32.sub - i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe - local.tee $11 - i32.store offset=4 - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - local.get $8 - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=12 - local.get $12 - call $~lib/array/Array<~lib/string/String>#__set - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|0 - end - end - local.get $5 - call $~lib/rt/tlsf/__free - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $3 - local.get $3 - i32.eqz - if - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $4 - local.get $4 - i32.eqz - if - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $2 - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $6 - local.get $4 - local.tee $5 - local.get $6 - local.get $5 - i32.lt_s - select - local.set $7 - local.get $4 - local.get $3 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $7 - local.get $4 - i32.le_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $7 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - if - local.get $7 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 - local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 - local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 - i32.eqz - if - i32.const 4112 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $8 - i32.eqz - if (result i32) - local.get $9 - local.get $3 - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 - local.get $0 - local.get $8 - i32.add - local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 1 - drop - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/util/hash/hashStr|inlined.0 - end - local.get $1 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=4 - local.get $13 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - local.get $3 - i32.const 16 - i32.ge_u - if - i32.const 0 - i32.const -1640531535 - i32.add - i32.const -2048144777 - i32.add - local.set $5 - i32.const 0 - i32.const -2048144777 - i32.add - local.set $6 - i32.const 0 - local.set $7 - i32.const 0 - i32.const -1640531535 - i32.sub - local.set $8 - local.get $3 - local.get $4 - i32.add - i32.const 16 - i32.sub - local.set $9 - loop $while-continue|0 - local.get $4 - local.get $9 - i32.le_u - local.set $10 - local.get $10 - if - local.get $5 - local.set $12 - local.get $4 - i32.load - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $5 - local.get $6 - local.set $12 - local.get $4 - i32.load offset=4 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $6 - local.get $7 - local.set $12 - local.get $4 - i32.load offset=8 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $7 - local.get $8 - local.set $12 - local.get $4 - i32.load offset=12 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $8 - local.get $4 - i32.const 16 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $2 - local.get $5 - i32.const 1 - i32.rotl - local.get $6 - i32.const 7 - i32.rotl - i32.add - local.get $7 - i32.const 12 - i32.rotl - i32.add - local.get $8 - i32.const 18 - i32.rotl - i32.add - i32.add - local.set $2 - else - local.get $2 - i32.const 0 - i32.const 374761393 - i32.add - i32.add - local.set $2 - end - local.get $1 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.set $9 - loop $while-continue|1 - local.get $4 - local.get $9 - i32.le_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $4 - i32.const 4 - i32.add - local.set $4 - br $while-continue|1 - end - end - local.get $1 - local.get $3 - i32.add - local.set $9 - loop $while-continue|2 - local.get $4 - local.get $9 - i32.lt_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load8_u - i32.const 374761393 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 11 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $2 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 6096 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 1 + drop local.get $0 - i32.load + i32.load offset=4 + local.set $2 local.get $2 local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul + i32.load offset=12 + i32.const 2 + i32.shl i32.add - i32.load local.set $3 loop $while-continue|0 + local.get $2 local.get $3 + i32.lt_u local.set $4 local.get $4 if - local.get $3 - i32.load offset=8 + local.get $2 + i32.load local.set $5 local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String.__eq - else - i32.const 0 - end if - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 + local.get $2 + i32.const 4 + i32.add + local.set $2 br $while-continue|0 end end - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#__visit (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + local.get $0 + i32.load local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 + call $~lib/rt/itcms/__visit local.get $0 i32.load offset=8 - local.set $6 - local.get $6 + local.set $2 + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 1 + end + drop + local.get $2 + local.set $3 + local.get $3 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $7 - local.get $5 - local.set $8 + local.set $4 loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 if + local.get $3 + local.set $6 local.get $6 - local.set $10 - local.get $10 i32.load offset=8 i32.const 1 i32.and i32.eqz if - local.get $8 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.load - local.tee $12 - i32.store offset=8 - local.get $11 - local.get $12 - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key - local.get $11 - local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value - local.get $12 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=12 - local.get $15 - call $~lib/util/hash/HASH<~lib/string/String> - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 + i32.const 1 + drop + local.get $6 i32.load - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 + local.set $7 + i32.const 0 + drop + local.get $7 + local.get $1 + call $~lib/rt/itcms/__visit + i32.const 1 + drop + local.get $6 + i32.load offset=4 + local.set $7 + i32.const 0 + drop + local.get $7 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $6 + local.get $3 i32.const 12 i32.add - local.set $6 + local.set $3 br $while-continue|0 end end - local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:buckets - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCapacity + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/map/Map<~lib/string/String,~lib/string/String> + block $~lib/array/Array<~lib/string/String> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array<~lib/string/String> $~lib/map/Map<~lib/string/String,~lib/string/String> $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map<~lib/string/String,~lib/string/String>~visit + return + end + unreachable + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std-wasi/process + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 22720 + i32.const 22768 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/console/console.log (param $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/process/process.stdout + local.set $1 + local.get $1 local.get $0 - i32.load offset=20 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset + call $~lib/process/WritableStream#write<~lib/string/String> + local.get $1 + i32.const 3280 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $2 + i32.store + local.get $2 + call $~lib/process/WritableStream#write<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 i32.store - local.get $7 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext - local.get $6 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 local.get $4 - i32.store + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i32.load + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $1 + call $~lib/string/String.__eq + else + i32.const 0 + end + if + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end end - local.get $0 - local.set $7 + i32.const 0 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/process/lazyEnv (result i32) (local $0 i32) @@ -7730,7 +7075,7 @@ (local $11 i32) (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -7740,9 +7085,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 global.get $~lib/process/iobuf global.get $~lib/process/iobuf i32.const 4 @@ -7829,16 +7171,11 @@ local.tee $10 i32.store offset=4 local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 i32.const 4080 local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store offset=12 + i32.store offset=8 local.get $12 i32.const 0 call $~lib/string/String#indexOf @@ -7848,31 +7185,16 @@ i32.xor if local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=20 - local.get $12 i32.const 0 local.get $11 call $~lib/string/String#substring local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store offset=12 + i32.store offset=8 local.get $12 local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=20 - local.get $12 local.get $11 i32.const 1 i32.add @@ -7881,28 +7203,18 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store offset=16 + i32.store offset=12 local.get $12 call $~lib/map/Map<~lib/string/String,~lib/string/String>#set drop else local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=12 - local.get $12 i32.const 4112 local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store offset=16 + i32.store offset=12 local.get $12 call $~lib/map/Map<~lib/string/String,~lib/string/String>#set drop @@ -7919,7 +7231,7 @@ local.get $6 local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $12 @@ -7935,16 +7247,13 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 local.get $0 i32.load offset=8 local.set $1 @@ -7981,11 +7290,6 @@ i32.eqz if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 local.tee $8 i32.const 1 @@ -7997,7 +7301,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=8 + i32.store offset=4 local.get $9 call $~lib/array/Array<~lib/string/String>#__set end @@ -8009,75 +7313,16 @@ end end local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 call $~lib/array/Array<~lib/string/String>#set:length local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,~lib/string/String>#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 4256 - i32.const 4320 - i32.const 105 - i32.const 17 - call $~lib/wasi/index/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:std-wasi/process (local $0 i32) (local $1 i32) @@ -8085,7 +7330,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -8093,8 +7338,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 i32.const 32 local.set $4 global.get $~lib/memory/__stack_pointer @@ -8245,11 +7490,6 @@ local.get $4 call $~lib/process/WritableStream#write<~lib/string/String> local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 call $~lib/console/console.log global.get $~lib/process/process.stdout i32.const 4224 @@ -8266,11 +7506,6 @@ i32.store offset=4 local.get $4 local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 call $~lib/map/Map<~lib/string/String,~lib/string/String>#get local.set $4 global.get $~lib/memory/__stack_pointer @@ -8327,7 +7562,7 @@ i32.const 42 call $~lib/process/process.exit global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -8632,17 +7867,148 @@ end end end - local.get $5 + local.get $5 + local.get $6 + local.get $5 + i32.sub + call $~lib/rt/itcms/__renew + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + ) + (func $~lib/process/lazyArgv (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/process/iobuf + global.get $~lib/process/iobuf + i32.const 4 + i32.add + call $~lib/bindings/wasi_snapshot_preview1/args_sizes_get + local.set $0 + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3088 + i32.const 66 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/process/iobuf + i32.load + local.set $1 + local.get $1 + i32.const 4 + i32.mul + local.set $2 + global.get $~lib/process/iobuf + i32.load offset=4 + local.set $3 + local.get $2 + local.get $3 + i32.add + local.set $4 + local.get $4 + call $~lib/rt/tlsf/__alloc + local.set $5 + local.get $5 + local.get $5 + local.get $2 + i32.add + call $~lib/bindings/wasi_snapshot_preview1/args_get + local.set $0 + local.get $0 + i32.const 65535 + i32.and + if + local.get $0 + call $~lib/bindings/wasi_snapshot_preview1/errnoToString + i32.const 3088 + i32.const 73 + i32.const 12 + call $~lib/wasi/index/abort + unreachable + end + local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $6 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $7 + i32.store + i32.const 0 + local.set $8 + loop $for-loop|0 + local.get $8 + local.get $6 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $5 + local.get $8 + i32.const 4 + i32.mul + i32.add + i32.load + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + local.get $10 + local.get $4 + i32.add + local.get $5 + i32.sub + i32.const 1 + call $~lib/string/String.UTF8.decodeUnsafe + local.tee $11 + i32.store offset=4 + local.get $7 + local.get $8 + local.get $11 + call $~lib/array/Array<~lib/string/String>#__set + local.get $8 + i32.const 1 + i32.add + local.set $8 + br $for-loop|0 + end + end local.get $5 - i32.sub - call $~lib/rt/itcms/__renew - local.set $13 + call $~lib/rt/tlsf/__free + local.get $7 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 + local.get $12 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -8673,75 +8039,268 @@ local.get $1 i32.const 2 i32.shl - i32.add - i32.load - local.tee $2 - i32.store + i32.add + i32.load + local.tee $2 + i32.store + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $2 + i32.eqz + if + i32.const 3888 + i32.const 3472 + i32.const 96 + i32.const 40 + call $~lib/wasi/index/abort + unreachable + end + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 1073741820 + i32.gt_u + if + i32.const 3424 + i32.const 4016 + i32.const 49 + i32.const 43 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $8 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $2 + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 i32.eqz if - i32.const 3888 - i32.const 3472 - i32.const 96 - i32.const 40 - call $~lib/wasi/index/abort - unreachable + i32.const 4112 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 + local.get $3 + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 end - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.const 1073741820 - i32.gt_u if - i32.const 3424 - i32.const 4016 - i32.const 49 - i32.const 43 - call $~lib/wasi/index/abort - unreachable + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 0 + local.get $10 + i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $11 i32.store - local.get $2 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - local.set $3 + local.get $11 + local.get $0 + local.get $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $12 ) - (func $~lib/map/Map<~lib/string/String,~lib/string/String>#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map<~lib/string/String,~lib/string/String>#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8750,51 +8309,122 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map<~lib/string/String,~lib/string/String>#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,~lib/string/String>#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:key + i32.const 1 + drop + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:value + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry<~lib/string/String,~lib/string/String>#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map<~lib/string/String,~lib/string/String>#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) (func $~lib/util/number/itoa64 (param $0 i64) (param $1 i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/array-access.optimized.wat b/tests/compiler/std/array-access.optimized.wat index 5d7ec74a82..c1cf758185 100644 --- a/tests/compiler/std/array-access.optimized.wat +++ b/tests/compiler/std/array-access.optimized.wat @@ -35,98 +35,131 @@ unreachable end ) + (func $~lib/array/Array<~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store + local.get $0 + i32.eqz + if + i32.const 1168 + i32.const 1120 + i32.const 96 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $~lib/string/String#startsWith (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store + i32.const 1292 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + local.set $1 + local.get $4 + i32.const 0 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1296 - i32.store offset=4 - local.get $1 - i32.const 1292 - i32.load - i32.const 1 - i32.shr_u local.tee $2 - i32.const 0 - local.get $1 - local.get $1 + local.get $2 i32.const 0 i32.gt_s select - local.tee $1 + local.tee $3 i32.add - i32.lt_s + local.get $2 + i32.gt_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 return end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1296 - i32.store offset=8 block $__inlined_func$~lib/util/string/compareImpl (result i32) i32.const 1296 - local.set $3 + local.set $2 local.get $0 - local.get $1 + local.get $3 i32.const 1 i32.shl i32.add - local.tee $4 + local.tee $3 i32.const 7 i32.and i32.eqz i32.const 0 - local.get $2 + local.get $1 local.tee $0 i32.const 4 i32.ge_u select if loop $do-continue|0 - local.get $4 - i64.load local.get $3 i64.load + local.get $2 + i64.load i64.eq if - local.get $4 - i32.const 8 - i32.add - local.set $4 local.get $3 i32.const 8 i32.add local.set $3 + local.get $2 + i32.const 8 + i32.add + local.set $2 local.get $0 i32.const 4 i32.sub @@ -145,105 +178,55 @@ local.set $0 local.get $1 if - local.get $3 + local.get $2 i32.load16_u local.tee $1 - local.get $4 + local.get $3 i32.load16_u - local.tee $2 + local.tee $4 i32.ne if - local.get $2 + local.get $4 local.get $1 i32.sub br $__inlined_func$~lib/util/string/compareImpl end - local.get $4 - i32.const 2 - i32.add - local.set $4 local.get $3 i32.const 2 i32.add local.set $3 + local.get $2 + i32.const 2 + i32.add + local.set $2 br $while-continue|1 end end i32.const 0 end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.eqz ) - (func $~lib/array/Array<~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) + (func $export:std/array-access/i32ArrayArrayElementAccess (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1056 - i32.const 1120 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 i32.store - local.get $0 - i32.eqz - if - i32.const 1168 - i32.const 1120 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $export:std/array-access/i32ArrayArrayElementAccess (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -267,7 +250,7 @@ i32.load offset=4 i32.load offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -285,16 +268,13 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -309,7 +289,7 @@ i32.const 1 i32.shr_u global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -327,19 +307,13 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -353,7 +327,7 @@ local.get $0 call $~lib/string/String#startsWith global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -371,19 +345,13 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -405,7 +373,7 @@ i32.const 1 i32.shr_u global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -423,7 +391,7 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -431,11 +399,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 + i32.const 0 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -456,7 +421,7 @@ local.get $0 call $~lib/string/String#startsWith global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array-access.untouched.wat b/tests/compiler/std/array-access.untouched.wat index 8c93e5a777..b4a57d9610 100644 --- a/tests/compiler/std/array-access.untouched.wat +++ b/tests/compiler/std/array-access.untouched.wat @@ -180,19 +180,14 @@ (func $std/array-access/i32ArrayArrayElementAccess (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $1 @@ -204,7 +199,7 @@ call $~lib/array/Array#__get local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -212,19 +207,14 @@ (func $std/array-access/stringArrayPropertyAccess (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $1 @@ -235,128 +225,22 @@ call $~lib/string/String#get:length local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/string/String#startsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 304 - local.tee $1 - i32.store - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/string/String#get:length - local.set $3 - local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/string/String#get:length - local.set $7 - local.get $7 - local.get $6 - i32.add - local.get $3 - i32.gt_s - if - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $6 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - i32.const 0 - local.get $7 - call $~lib/util/string/compareImpl - i32.eqz - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) (func $std/array-access/stringArrayMethodCall (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $1 @@ -374,7 +258,7 @@ call $~lib/string/String#startsWith local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -382,22 +266,14 @@ (func $std/array-access/stringArrayArrayPropertyAccess (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get local.set $1 @@ -415,7 +291,7 @@ call $~lib/string/String#get:length local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -423,7 +299,7 @@ (func $std/array-access/stringArrayArrayMethodCall (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -431,14 +307,9 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get local.set $1 @@ -463,7 +334,7 @@ call $~lib/string/String#startsWith local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -580,6 +451,81 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/string/String#startsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 304 + local.tee $1 + i32.store + end + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $1 + call $~lib/string/String#get:length + local.set $7 + local.get $7 + local.get $6 + i32.add + local.get $3 + i32.gt_s + if + i32.const 0 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end + local.get $0 + local.get $6 + local.get $1 + i32.const 0 + local.get $7 + call $~lib/util/string/compareImpl + i32.eqz + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) diff --git a/tests/compiler/std/array.optimized.wat b/tests/compiler/std/array.optimized.wat index 99fc7a24b4..e58a208889 100644 --- a/tests/compiler/std/array.optimized.wat +++ b/tests/compiler/std/array.optimized.wat @@ -9,8 +9,8 @@ (type $none_=>_none (func)) (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $none_=>_i32 (func (result i32))) (type $none_=>_f64 (func (result f64))) + (type $none_=>_i32 (func (result i32))) (type $i64_=>_i32 (func (param i64) (result i32))) (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) @@ -2734,6 +2734,51 @@ i32.add i32.load8_u ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -2829,6 +2874,51 @@ i32.add i32.load ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -3161,6 +3251,54 @@ call $~lib/memory/memory.copy local.get $0 ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $2 + i32.eqz + if + local.get $0 + i32.load offset=12 + local.tee $2 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -3326,10 +3464,94 @@ local.get $2 call $~lib/array/Array#lastIndexOf ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1344 + i32.const 1104 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + ) (func $start:std/array~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) + (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_s + select + i32.lt_s + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + ) (func $start:std/array~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 @@ -3340,516 +3562,683 @@ i32.const 100 i32.eq ) - (func $start:std/array~anonymous|6 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 0 - i32.ge_s - ) - (func $start:std/array~anonymous|7 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|3 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 - i32.const 0 - i32.le_s + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - i32.const 10 - i32.lt_s + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|11 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|6 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 3 + i32.const 0 i32.ge_s ) - (func $start:std/array~anonymous|12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 - i32.const -1 - i32.le_s - ) - (func $start:std/array~anonymous|14 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_s + select + i32.lt_s + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) + (func $start:std/array~anonymous|7 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 0 + i32.le_s + ) + (func $start:std/array~anonymous|8 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 i32.const 10 - i32.gt_s + i32.lt_s ) - (func $start:std/array~anonymous|16 (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i + i32.const 10 + i32.lt_s ) - (func $start:std/array~anonymous|21 (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (func $start:std/array~anonymous|10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - f32.convert_i32_s + i32.const 3 + i32.lt_s ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) - local.get $1 + (func $start:std/array~anonymous|11 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 3 + i32.ge_s + ) + (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 i32.load offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_s + select + i32.lt_s + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end + i32.const 0 + ) + (func $start:std/array~anonymous|12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load + i32.const -1 + i32.le_s ) - (func $start:std/array~anonymous|23 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|13 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i + i32.const 10 + i32.gt_s + ) + (func $start:std/array~anonymous|14 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const 10 + i32.gt_s ) - (func $start:std/array~anonymous|25 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|15 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - i32.const 2 - i32.ge_s + i32.const 3 + i32.gt_s ) - (func $start:std/array~anonymous|27 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|16 (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 global.get $std/array/i i32.add global.set $std/array/i - local.get $0 - i32.const 2 - i32.ge_s - ) - (func $start:std/array~anonymous|29 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add ) - (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - i32.const 1 - local.get $1 - i32.const 2 - i32.gt_s + (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 - select + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_s + select + i32.lt_s + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end ) - (func $start:std/array~anonymous|32 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - i32.const 1 - local.get $1 + (func $start:std/array~anonymous|17 (param $0 i32) (param $1 i32) (param $2 i32) + local.get $2 i32.const 100 - i32.gt_s - local.get $0 - select - ) - (func $~lib/math/murmurHash3 (param $0 i64) (result i64) - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - i64.const -49064778989728563 - i64.mul - local.tee $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - i64.const -4265267296055464877 - i64.mul - local.tee $0 + call $~lib/array/Array#push + drop local.get $0 - i64.const 33 - i64.shr_u - i64.xor + global.get $std/array/i + i32.add + global.set $std/array/i ) - (func $~lib/math/splitMix32 (param $0 i32) (result i32) + (func $start:std/array~anonymous|19 (param $0 i32) (param $1 i32) (param $2 i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - i32.const 1831565813 + global.get $std/array/i i32.add - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - local.get $0 - i32.const 1 - i32.or - i32.mul - local.tee $0 - local.get $0 - local.get $0 - i32.const 61 - i32.or - local.get $0 - local.get $0 - i32.const 7 - i32.shr_u - i32.xor - i32.mul - i32.add - i32.xor - local.tee $0 - local.get $0 - i32.const 14 - i32.shr_u - i32.xor - ) - (func $~lib/math/NativeMath.seedRandom (param $0 i64) - i32.const 1 - global.set $~lib/math/random_seeded - local.get $0 - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state1_64 - local.get $0 - i32.wrap_i64 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state0_32 - global.get $~lib/math/random_state0_32 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state1_32 - global.get $~lib/math/random_state1_32 - i32.const 0 - i32.ne - i32.const 0 - global.get $~lib/math/random_state0_32 - i32.const 0 - global.get $~lib/math/random_state1_64 - i64.const 0 - i64.ne - i32.const 0 - global.get $~lib/math/random_state0_64 - i64.const 0 - i64.ne - select - select - select - i32.eqz - if - i32.const 0 - i32.const 7264 - i32.const 1399 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + global.set $std/array/i ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|20 (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 f32) - (local $8 i32) - local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/tlsf/__alloc - local.tee $6 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill local.get $1 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $4 - i32.const 0 - i32.gt_s - if - local.get $4 - local.set $3 - loop $while-continue|1 + i32.eqz + if + loop $for-loop|0 + local.get $3 + i32.const 4 + i32.lt_s + if + local.get $2 + call $~lib/array/Array#pop + drop local.get $3 i32.const 1 - i32.and - local.get $6 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + i32.const 100 + i32.lt_s + if + local.get $2 local.get $3 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl + i32.const 100 i32.add - i32.load + call $~lib/array/Array#push + drop local.get $3 i32.const 1 - i32.shr_s - i32.shr_u - i32.const 1 - i32.and - i32.eq - if - local.get $3 - i32.const 1 - i32.shr_s - local.set $3 - br $while-continue|1 - end + i32.add + local.set $3 + br $for-loop|1 end - local.get $0 + end + i32.const 0 + local.set $3 + loop $for-loop|2 local.get $3 - i32.const 1 - i32.shr_s - local.tee $3 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $5 - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 + i32.const 100 i32.lt_s if - local.get $6 - local.get $4 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $8 - local.get $8 - i32.load + local.get $2 + call $~lib/array/Array#pop + drop + local.get $3 i32.const 1 - local.get $4 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $4 - i32.const 2 - i32.shl i32.add - local.get $5 - f32.store - local.get $0 + local.set $3 + br $for-loop|2 + end + end + i32.const 0 + local.set $3 + loop $for-loop|3 + local.get $3 + i32.const 100 + i32.lt_s + if + local.get $2 local.get $3 - i32.const 2 - i32.shl + i32.const 200 i32.add - local.get $7 - f32.store + call $~lib/array/Array#push + drop + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|3 end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|0 end end local.get $1 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|2 - local.get $4 - i32.const 2 - i32.ge_s + i32.const 2 + i32.eq + if + local.get $0 + i32.const 202 + i32.ne if - local.get $0 - f32.load - local.set $5 - local.get $0 - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load - f32.store - local.get $1 - local.get $5 - f32.store - i32.const 1 - local.set $1 - loop $while-continue|3 - local.get $4 - local.get $6 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $1 - i32.shr_u - i32.const 1 - i32.and - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.gt_s - if - local.get $3 - local.set $1 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $1 - i32.const 0 - i32.gt_s - if - local.get $0 - f32.load - local.set $5 - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $3 - local.get $3 - i32.load - i32.const 1 - local.get $1 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $5 - f32.store - local.get $0 - local.get $7 - f32.store - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - br $while-continue|4 - end - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|2 + i32.const 0 + i32.const 1552 + i32.const 680 + i32.const 7 + call $~lib/builtins/abort + unreachable end end - local.get $6 - call $~lib/rt/tlsf/__free + ) + (func $start:std/array~anonymous|21 (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 - f32.load offset=4 - local.set $5 + f32.convert_i32_s + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add f32.load - f32.store offset=4 + ) + (func $start:std/array~anonymous|22 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop + local.get $0 + global.get $std/array/i + i32.add + global.set $std/array/i local.get $0 - local.get $5 - f32.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) + (func $start:std/array~anonymous|23 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.reinterpret_f32 - local.tee $2 + global.get $std/array/i + i32.add + global.set $std/array/i + local.get $0 + ) + (func $start:std/array~anonymous|24 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.tee $2 - local.get $1 - i32.reinterpret_f32 - local.tee $3 - local.get $3 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.tee $3 - i32.gt_s + call $~lib/array/Array#pop + drop + local.get $0 + global.get $std/array/i + i32.add + global.set $std/array/i + local.get $0 + ) + (func $start:std/array~anonymous|25 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|26 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 - local.get $3 - i32.lt_s - i32.sub + i32.const 100 + call $~lib/array/Array#push + drop + local.get $0 + global.get $std/array/i + i32.add + global.set $std/array/i + local.get $0 + i32.const 2 + i32.ge_s ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 f64) - (local $8 i32) - local.get $1 - i32.const 31 + (func $start:std/array~anonymous|27 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + global.get $std/array/i i32.add - i32.const 5 - i32.shr_u + global.set $std/array/i + local.get $0 i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/tlsf/__alloc - local.tee $6 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill + i32.ge_s + ) + (func $start:std/array~anonymous|28 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop + local.get $0 + global.get $std/array/i + i32.add + global.set $std/array/i + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|29 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 local.get $1 - i32.const 1 - i32.sub - local.set $4 + i32.add + ) + (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=12 + local.set $5 loop $for-loop|0 + local.get $3 + local.get $5 + local.get $0 + i32.load offset=12 + local.tee $4 local.get $4 - i32.const 0 + local.get $5 i32.gt_s - if + select + i32.lt_s + if + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $3 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 + ) + (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 1 + local.get $1 + i32.const 2 + i32.gt_s + local.get $0 + select + ) + (func $start:std/array~anonymous|32 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 1 + local.get $1 + i32.const 100 + i32.gt_s + local.get $0 + select + ) + (func $start:std/array~anonymous|33 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + i32.const 1 + call $~lib/array/Array#push + drop + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|35 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + call $~lib/array/Array#pop + drop + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.load offset=12 + i32.const 1 + i32.sub + local.set $3 + loop $for-loop|0 + local.get $3 + i32.const 0 + i32.ge_s + if + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $3 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $for-loop|0 + end + end + local.get $2 + ) + (func $~lib/math/murmurHash3 (param $0 i64) (result i64) + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + ) + (func $~lib/math/splitMix32 (param $0 i32) (result i32) + local.get $0 + i32.const 1831565813 + i32.add + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + local.get $0 + i32.const 1 + i32.or + i32.mul + local.tee $0 + local.get $0 + local.get $0 + i32.const 61 + i32.or + local.get $0 + local.get $0 + i32.const 7 + i32.shr_u + i32.xor + i32.mul + i32.add + i32.xor + local.tee $0 + local.get $0 + i32.const 14 + i32.shr_u + i32.xor + ) + (func $~lib/math/NativeMath.seedRandom (param $0 i64) + i32.const 1 + global.set $~lib/math/random_seeded + local.get $0 + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state1_64 + local.get $0 + i32.wrap_i64 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state0_32 + global.get $~lib/math/random_state0_32 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state1_32 + global.get $~lib/math/random_state1_32 + i32.const 0 + i32.ne + i32.const 0 + global.get $~lib/math/random_state0_32 + i32.const 0 + global.get $~lib/math/random_state1_64 + i64.const 0 + i64.ne + i32.const 0 + global.get $~lib/math/random_state0_64 + i64.const 0 + i64.ne + select + select + select + i32.eqz + if + i32.const 0 + i32.const 7264 + i32.const 1399 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f32) + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $6 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if local.get $4 local.set $3 loop $while-continue|1 @@ -3884,17 +4273,17 @@ i32.const 1 i32.shr_s local.tee $3 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load + f32.load local.set $5 local.get $0 local.get $4 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load + f32.load local.set $7 i32.const 2 global.set $~argumentsLength @@ -3902,7 +4291,7 @@ local.get $7 local.get $2 i32.load - call_indirect (type $f64_f64_=>_i32) + call_indirect (type $f32_f32_=>_i32) i32.const 0 i32.lt_s if @@ -3923,18 +4312,18 @@ i32.store local.get $0 local.get $4 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $5 - f64.store + f32.store local.get $0 local.get $3 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $7 - f64.store + f32.store end local.get $4 i32.const 1 @@ -3953,20 +4342,20 @@ i32.ge_s if local.get $0 - f64.load + f32.load local.set $5 local.get $0 local.get $0 local.get $4 - i32.const 3 + i32.const 2 i32.shl i32.add local.tee $1 - f64.load - f64.store + f32.load + f32.store local.get $1 local.get $5 - f64.store + f32.store i32.const 1 local.set $1 loop $while-continue|3 @@ -4001,14 +4390,14 @@ i32.gt_s if local.get $0 - f64.load + f32.load local.set $5 local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load + f32.load local.set $7 i32.const 2 global.set $~argumentsLength @@ -4016,7 +4405,7 @@ local.get $7 local.get $2 i32.load - call_indirect (type $f64_f64_=>_i32) + call_indirect (type $f32_f32_=>_i32) i32.const 0 i32.lt_s if @@ -4037,14 +4426,14 @@ i32.store local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $5 - f64.store + f32.store local.get $0 local.get $7 - f64.store + f32.store end local.get $1 i32.const 1 @@ -4063,72 +4452,184 @@ local.get $6 call $~lib/rt/tlsf/__free local.get $0 - f64.load offset=8 + f32.load offset=4 local.set $5 local.get $0 local.get $0 - f64.load - f64.store offset=8 + f32.load + f32.store offset=4 local.get $0 local.get $5 - f64.store + f32.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 f32) + (local $6 i32) + (local $7 i32) local.get $0 - i64.reinterpret_f64 + i32.load offset=12 + local.tee $7 + i32.const 1 + i32.le_s + if + return + end + local.get $0 + i32.load offset=4 + local.set $3 + local.get $7 + i32.const 2 + i32.eq + if + local.get $3 + f32.load offset=4 + local.set $4 + local.get $3 + f32.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $1 + i32.load + call_indirect (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + f32.store offset=4 + local.get $3 + local.get $4 + f32.store + end + return + end + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $1 + local.set $2 + loop $for-loop|0 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $3 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $4 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $2 + i32.load + call_indirect (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $3 + local.get $0 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store + br $while-continue|1 + end + end + end + local.get $3 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $4 + f32.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $3 + local.get $7 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.reinterpret_f32 local.tee $2 local.get $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor local.tee $2 local.get $1 - i64.reinterpret_f64 + i32.reinterpret_f32 local.tee $3 local.get $3 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor local.tee $3 - i64.gt_s + i32.gt_s local.get $2 local.get $3 - i64.lt_s + i32.lt_s i32.sub ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) - (local $7 i32) + (local $7 f64) (local $8 i32) local.get $1 i32.const 31 @@ -4139,7 +4640,7 @@ i32.shl local.tee $3 call $~lib/rt/tlsf/__alloc - local.tee $5 + local.tee $6 i32.const 0 local.get $3 call $~lib/memory/memory.fill @@ -4158,7 +4659,7 @@ local.get $3 i32.const 1 i32.and - local.get $5 + local.get $6 local.get $3 i32.const 6 i32.shr_u @@ -4185,30 +4686,30 @@ local.get $3 i32.const 1 i32.shr_s - local.tee $7 - i32.const 2 + local.tee $3 + i32.const 3 i32.shl i32.add - i32.load - local.set $3 + f64.load + local.set $5 local.get $0 local.get $4 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load - local.set $6 + f64.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $3 - local.get $6 + local.get $5 + local.get $7 local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if - local.get $5 + local.get $6 local.get $4 i32.const 5 i32.shr_u @@ -4225,18 +4726,18 @@ i32.store local.get $0 local.get $4 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $3 - i32.store + local.get $5 + f64.store local.get $0 - local.get $7 - i32.const 2 + local.get $3 + i32.const 3 i32.shl i32.add - local.get $6 - i32.store + local.get $7 + f64.store end local.get $4 i32.const 1 @@ -4255,25 +4756,25 @@ i32.ge_s if local.get $0 - i32.load - local.set $1 + f64.load + local.set $5 local.get $0 local.get $0 local.get $4 - i32.const 2 + i32.const 3 i32.shl i32.add - local.tee $3 - i32.load - i32.store - local.get $3 + local.tee $1 + f64.load + f64.store local.get $1 - i32.store + local.get $5 + f64.store i32.const 1 local.set $1 loop $while-continue|3 local.get $4 - local.get $5 + local.get $6 local.get $1 i32.const 5 i32.shr_u @@ -4303,34 +4804,34 @@ i32.gt_s if local.get $0 - i32.load - local.set $3 + f64.load + local.set $5 local.get $0 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load - local.set $6 + f64.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $3 - local.get $6 + local.get $5 + local.get $7 local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if - local.get $5 + local.get $6 local.get $1 i32.const 5 i32.shr_u i32.const 2 i32.shl i32.add - local.tee $7 - local.get $7 + local.tee $3 + local.get $3 i32.load i32.const 1 local.get $1 @@ -4339,14 +4840,14 @@ i32.store local.get $0 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $3 - i32.store + local.get $5 + f64.store local.get $0 - local.get $6 - i32.store + local.get $7 + f64.store end local.get $1 i32.const 1 @@ -4362,25 +4863,203 @@ br $for-loop|2 end end - local.get $5 + local.get $6 call $~lib/rt/tlsf/__free local.get $0 - i32.load offset=4 - local.set $1 + f64.load offset=8 + local.set $5 local.get $0 local.get $0 - i32.load - i32.store offset=4 + f64.load + f64.store offset=8 local.get $0 - local.get $1 - i32.store + local.get $5 + f64.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i32) + (local $7 i32) + local.get $0 + i32.load offset=12 + local.tee $7 + i32.const 1 + i32.le_s + if + return + end + local.get $0 + i32.load offset=4 + local.set $3 + local.get $7 + i32.const 2 + i32.eq + if + local.get $3 + f64.load offset=8 + local.set $4 + local.get $3 + f64.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $1 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + f64.store offset=8 + local.get $3 + local.get $4 + f64.store + end + return + end + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $1 + local.set $2 + loop $for-loop|0 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $3 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $4 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $3 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $2 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $3 + local.get $0 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store + br $while-continue|1 + end + end + end + local.get $3 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $4 + f64.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $3 + local.get $7 + local.get $1 + call $~lib/util/sort/weakHeapSort + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) local.get $0 + i64.reinterpret_f64 + local.tee $2 + local.get $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.tee $2 local.get $1 + i64.reinterpret_f64 + local.tee $3 + local.get $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.tee $3 + i64.gt_s + local.get $2 + local.get $3 + i64.lt_s i32.sub ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4632,1389 +5311,1097 @@ local.get $1 i32.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.gt_u + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - local.get $1 - i32.lt_u - i32.sub - ) - (func $~lib/math/NativeMath.random (result f64) - (local $0 i64) - (local $1 i64) - global.get $~lib/math/random_seeded - i32.eqz + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.le_s if - call $~lib/builtins/seed - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + local.get $0 + return end - global.get $~lib/math/random_state0_64 - local.set $0 - global.get $~lib/math/random_state1_64 - local.tee $1 - global.set $~lib/math/random_state0_64 - local.get $1 local.get $0 - local.get $0 - i64.const 23 - i64.shl - i64.xor - local.tee $0 - local.get $0 - i64.const 17 - i64.shr_u - i64.xor - i64.xor - local.get $1 - i64.const 26 - i64.shr_u - i64.xor - global.set $~lib/math/random_state1_64 - local.get $1 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or - f64.reinterpret_i64 - f64.const 1 - f64.sub - ) - (func $start:std/array~anonymous|44 (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.sub - ) - (func $start:std/array~anonymous|48 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load - local.get $1 - i32.load - i32.sub - ) - (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 + i32.load offset=4 + local.set $5 local.get $2 - i32.const 4 - i32.ge_u - select + i32.const 2 + i32.eq if - loop $do-continue|0 - local.get $0 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $3 - i32.const 1 - i32.sub + local.get $5 + i32.load offset=4 local.set $2 + local.get $5 + i32.load + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $2 local.get $3 + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - local.get $0 - i32.load16_u - local.tee $3 - local.get $1 - i32.load16_u - local.tee $4 - i32.ne - if - local.get $3 - local.get $4 - i32.sub - return - end - local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $2 + i32.store end - end - i32.const 0 - ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - local.get $0 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add - local.get $0 - i32.const 100 - i32.lt_u - select - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - local.get $0 - i32.const 10000000 - i32.lt_u - select - local.get $0 - i32.const 100000 - i32.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) - loop $do-continue|0 local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store16 - local.get $1 - i32.const 10 - i32.div_u - local.tee $1 - br_if $do-continue|0 + return end - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 0 + local.get $2 + i32.const 256 i32.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - i32.const 0 - local.get $1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 10 - i32.lt_u if - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add + local.set $3 local.get $1 - i32.const 48 - i32.or - i32.store16 + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $2 + i32.const 1 + i32.sub + local.set $1 + local.get $5 + local.get $2 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + br $while-continue|1 + end + end + end + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + else + local.get $5 local.get $2 - i32.const 1 - i32.add - return + local.get $1 + call $~lib/util/sort/weakHeapSort end local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 + i32.sub + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $1 - call $~lib/util/number/decimalCount32 - local.get $2 + i32.const 31 i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $0 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 10 - i32.lt_u - if - local.get $0 - local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return - end - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount32 - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $0 - ) - (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) - (local $7 i64) - (local $8 i64) - (local $9 i32) - (local $10 i64) - (local $11 i32) - (local $12 i64) - (local $13 i64) + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 local.get $3 + call $~lib/memory/memory.fill local.get $1 - i64.sub - local.set $8 - local.get $3 - i64.const 1 - i32.const 0 - local.get $4 + i32.const 1 i32.sub - local.tee $11 - i64.extend_i32_s - i64.shl - local.tee $10 - i64.const 1 - i64.sub - local.tee $12 - i64.and - local.set $7 - local.get $3 - local.get $11 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $9 - loop $while-continue|0 - local.get $9 + local.set $4 + loop $for-loop|0 + local.get $4 i32.const 0 i32.gt_s if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $9 - i32.const 1 - i32.sub - br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 - end - local.get $2 - i32.const 1000000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 100000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 10000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 1000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100000 - i32.div_u - local.set $4 - local.get $2 - i32.const 100000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 10000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 1000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100 - i32.div_u - local.set $4 - local.get $2 - i32.const 100 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10 - i32.div_u - local.set $4 - local.get $2 - i32.const 10 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - local.set $4 - i32.const 0 - local.set $2 - br $break|1 - end - i32.const 0 - local.set $4 - end local.get $4 - local.get $6 - i32.or - if - local.get $0 - local.get $6 + local.set $3 + loop $while-continue|1 + local.get $3 i32.const 1 - i32.shl - i32.add - local.get $4 - i32.const 65535 i32.and - i32.const 48 - i32.add - i32.store16 - local.get $6 - i32.const 1 - i32.add - local.set $6 - end - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $5 - local.get $7 - local.get $2 - i64.extend_i32_u - local.get $11 - i64.extend_i32_s - i64.shl - i64.add - local.tee $1 - i64.ge_u - if - local.get $9 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $9 + local.get $5 + local.get $3 + i32.const 6 + i32.shr_u i32.const 2 i32.shl - i32.const 10928 i32.add - i64.load32_u - local.get $11 - i64.extend_i32_s - i64.shl - local.set $10 - local.get $0 - local.get $6 + i32.load + local.get $3 i32.const 1 - i32.sub + i32.shr_s + i32.shr_u i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $2 - loop $while-continue|3 + i32.and + i32.eq + if + local.get $3 i32.const 1 - local.get $8 - local.get $1 - i64.sub - local.get $1 - local.get $10 - i64.add - local.tee $3 - local.get $8 - i64.sub - i64.gt_u - local.get $3 - local.get $8 - i64.lt_u - select - i32.const 0 - local.get $10 - local.get $5 - local.get $1 - i64.sub - i64.le_u - i32.const 0 - local.get $1 - local.get $8 - i64.lt_u - select - select - if - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $10 - i64.add - local.set $1 - br $while-continue|3 - end + i32.shr_s + local.set $3 + br $while-continue|1 end - local.get $0 - local.get $2 - i32.store16 - local.get $6 - return end - br $while-continue|0 - end - end - local.get $11 - i64.extend_i32_s - local.set $13 - loop $while-continue|4 (result i32) - local.get $5 - i64.const 10 - i64.mul - local.set $5 - local.get $7 - i64.const 10 - i64.mul - local.tee $3 - local.get $13 - i64.shr_u - local.tee $1 - local.get $6 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if local.get $0 - local.get $6 + local.get $3 i32.const 1 + i32.shr_s + local.tee $7 + i32.const 2 i32.shl i32.add - local.get $1 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 - local.get $6 - i32.const 1 + i32.load + local.set $3 + local.get $0 + local.get $4 + i32.const 2 + i32.shl i32.add + i32.load local.set $6 - end - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $3 - local.get $12 - i64.and - local.tee $7 - local.get $5 - i64.ge_u - br_if $while-continue|4 - local.get $9 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $7 - local.set $1 - local.get $8 - i32.const 0 - local.get $9 - i32.sub - i32.const 2 - i32.shl - i32.const 10928 - i32.add - i64.load32_u - i64.mul - local.set $8 - local.get $0 - local.get $6 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $2 - loop $while-continue|6 - i32.const 1 - local.get $8 - local.get $1 - i64.sub - local.get $1 - local.get $10 - i64.add - local.tee $3 - local.get $8 - i64.sub - i64.gt_u + i32.const 2 + global.set $~argumentsLength local.get $3 - local.get $8 - i64.lt_u - select - i32.const 0 - local.get $10 - local.get $5 - local.get $1 - i64.sub - i64.le_u + local.get $6 + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) i32.const 0 - local.get $1 - local.get $8 - i64.lt_u - select - select - if - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $10 - i64.add - local.set $1 - br $while-continue|6 - end - end - local.get $0 - local.get $2 - i32.store16 - local.get $6 - end - ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $2 - i32.eqz - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $1 - i32.const 2 - i32.add - return - end - local.get $1 - local.get $2 - i32.add - local.tee $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $1 - local.get $3 - i32.le_s - select - if (result i32) - loop $for-loop|0 - local.get $1 - local.get $3 i32.lt_s if - local.get $0 - local.get $1 - i32.const 1 + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 i32.shl i32.add - i32.const 48 - i32.store16 - local.get $1 + local.tee $8 + local.get $8 + i32.load i32.const 1 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 2 + i32.shl i32.add - local.set $1 - br $for-loop|0 + local.get $3 + i32.store + local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $3 - i32.const 2 - i32.add - else - local.get $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $3 - i32.const 0 - i32.gt_s - select - if (result i32) + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.const 2 - i32.add + i32.load + local.set $1 local.get $0 - i32.const 0 - local.get $2 - i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy local.get $0 - i32.const 46 - i32.store16 - local.get $1 - i32.const 1 + local.get $4 + i32.const 2 + i32.shl i32.add - else - local.get $3 - i32.const 0 - i32.le_s - i32.const 0 + local.tee $3 + i32.load + i32.store local.get $3 - i32.const -6 - i32.gt_s - select - if (result i32) - local.get $0 + local.get $1 + i32.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u i32.const 2 - local.get $3 - i32.sub - local.tee $3 - i32.const 1 i32.shl i32.add - local.get $0 + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and local.get $1 i32.const 1 i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 3014704 - i32.store - i32.const 2 - local.set $2 - loop $for-loop|1 - local.get $2 + i32.add + local.tee $3 + i32.gt_s + if local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end + local.set $1 + br $while-continue|3 end + end + loop $while-continue|4 local.get $1 - local.get $3 - i32.add - else - local.get $1 - i32.const 1 - i32.eq - if (result i32) - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $1 - i32.const 4 - i32.add - local.get $3 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - i32.lt_s - local.tee $2 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end + i32.const 0 + i32.gt_s + if local.get $0 + i32.load + local.set $3 local.get $0 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple local.get $1 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 offset=4 - local.get $0 - i32.const 2 - i32.add - else - local.get $0 - i32.const 4 - i32.add - local.get $0 i32.const 2 - i32.add - local.get $1 - i32.const 1 i32.shl - local.tee $2 - i32.const 2 - i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $2 - i32.const 4 i32.add + i32.load + local.set $6 + i32.const 2 + global.set $~argumentsLength local.get $3 - i32.const 1 - i32.sub - local.tee $0 + local.get $6 + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) i32.const 0 i32.lt_s - local.tee $3 if - i32.const 0 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store local.get $0 - i32.sub - local.set $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + local.get $0 + local.get $6 + i32.store end - local.get $0 - local.get $0 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 offset=4 - local.get $0 local.get $1 - i32.add - i32.const 2 - i32.add + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 end end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 end end + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $1 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - local.get $1 - f64.const 0 - f64.lt - local.tee $9 - if (result f64) + local.get $0 + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.le_s + if local.get $0 - i32.const 45 - i32.store16 + return + end + local.get $0 + i32.load offset=4 + local.set $5 + local.get $2 + i32.const 2 + i32.eq + if + local.get $5 + i32.load offset=4 + local.set $2 + local.get $5 + i32.load + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $2 + local.get $3 local.get $1 - f64.neg + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $3 + i32.store offset=4 + local.get $5 + local.get $2 + i32.store + end + local.get $0 + return + end + local.get $2 + i32.const 256 + i32.lt_s + if + local.get $2 + local.set $3 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $2 + i32.const 1 + i32.sub + local.set $1 + local.get $5 + local.get $2 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + br $while-continue|1 + end + end + end + local.get $5 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end else + local.get $5 + local.get $2 local.get $1 + call $~lib/util/sort/weakHeapSort end - i64.reinterpret_f64 - local.tee $2 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $8 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $2 - i64.const 4503599627370495 - i64.and - i64.add - local.tee $3 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $2 - local.get $2 - i64.clz - i32.wrap_i64 - local.tee $4 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus - local.get $8 - i32.const 1 - local.get $8 - select - i32.const 1075 - i32.sub - local.tee $8 - i32.const 1 - i32.sub - local.get $4 - i32.sub - local.set $4 - local.get $3 - local.get $3 - i64.const 4503599627370496 - i64.eq - i32.const 1 - i32.add - local.tee $10 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $8 - local.get $10 - i32.sub - local.get $4 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $4 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp + local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add + ) + (func $~lib/math/NativeMath.random (result f64) + (local $0 i64) + (local $1 i64) + global.get $~lib/math/random_seeded + i32.eqz + if + call $~lib/builtins/seed + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + end + global.get $~lib/math/random_state0_64 + local.set $0 + global.get $~lib/math/random_state1_64 local.tee $1 - i32.trunc_f64_s - local.tee $4 + global.set $~lib/math/random_state0_64 local.get $1 - local.get $4 - f64.convert_i32_s - f64.ne - i32.add - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.tee $4 - i32.const 3 - i32.shl - local.tee $10 - i32.sub - global.set $~lib/util/number/_K - local.get $10 - i32.const 10056 - i32.add - i64.load - global.set $~lib/util/number/_frc_pow - local.get $4 - i32.const 1 - i32.shl - i32.const 10752 - i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - global.get $~lib/util/number/_frc_pow - local.tee $6 - i64.const 4294967295 - i64.and - local.set $2 - local.get $6 - i64.const 32 + local.get $0 + local.get $0 + i64.const 23 + i64.shl + i64.xor + local.tee $0 + local.get $0 + i64.const 17 i64.shr_u - local.tee $6 - global.get $~lib/util/number/_frc_plus - local.tee $5 - i64.const 32 - i64.shr_u - local.tee $7 - i64.mul - local.get $2 - local.get $7 - i64.mul - local.get $2 - local.get $5 - i64.const 4294967295 - i64.and - local.tee $5 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 32 - i64.shr_u - i64.add - local.get $5 - local.get $6 - i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.sub - local.set $5 - local.get $0 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - local.get $3 - local.get $3 - i64.clz - i32.wrap_i64 - local.tee $0 - i64.extend_i32_s - i64.shl - local.tee $3 - i64.const 32 - i64.shr_u - local.tee $7 - i64.mul - local.get $2 - local.get $7 - i64.mul - local.get $2 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $3 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 32 + i64.xor + i64.xor + local.get $1 + i64.const 26 i64.shr_u - i64.add - local.get $3 - local.get $6 - i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 + i64.xor + global.set $~lib/math/random_state1_64 + local.get $1 + i64.const 12 i64.shr_u - i64.add - global.get $~lib/util/number/_exp_pow - local.tee $4 - local.get $8 + i64.const 4607182418800017408 + i64.or + f64.reinterpret_i64 + f64.const 1 + f64.sub + ) + (func $start:std/array~anonymous|44 (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 i32.sub - i32.add - i32.const -64 - i32.sub - local.get $5 - local.get $4 - global.get $~lib/util/number/_exp - i32.add - i32.const -64 - i32.sub - local.get $5 - local.get $6 - global.get $~lib/util/number/_frc_minus - local.tee $3 - i64.const 32 - i64.shr_u - local.tee $5 - i64.mul - local.get $2 - local.get $5 - i64.mul - local.get $2 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $2 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $3 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - local.get $6 - i64.mul - local.get $3 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.add - i64.sub - local.get $9 - call $~lib/util/number/genDigits - local.get $9 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.get $9 - i32.add ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - local.get $1 - f64.const 0 - f64.eq - if - local.get $0 - i32.const 48 - i32.store16 - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - i32.const 48 - i32.store16 offset=4 - i32.const 3 - return - end - local.get $1 + (func $~lib/array/Array<~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $1 - f64.sub - f64.const 0 - f64.ne + local.get $0 + i32.load offset=12 + i32.ge_u if local.get $1 - local.get $1 - f64.ne + i32.const 0 + i32.lt_s if - local.get $0 - i32.const 78 - i32.store16 - local.get $0 - i32.const 97 - i32.store16 offset=2 - local.get $0 - i32.const 78 - i32.store16 offset=4 - i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - end - local.get $0 - i64.const 29555310648492105 - i64.store - local.get $0 - i64.const 34058970405077102 - i64.store offset=8 - local.get $2 - i32.const 8 - i32.add - return + i32.const 1344 + i32.const 1104 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end - unreachable + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 end local.get $0 local.get $1 - call $~lib/util/number/dtoa_core + local.get $2 + call $~lib/array/Array#__uset ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $start:std/array~anonymous|47 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array#__get local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 0 - i32.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - i32.const 0 - local.get $1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 10 - i32.lt_u - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add + call $~lib/array/Array#__get + i32.sub + ) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + loop $for-loop|0 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 48 - i32.or - i32.store16 - local.get $2 - i32.const 1 - i32.add - return + local.get $5 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store + local.get $5 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 0 + i32.ge_s + if + block $while-break|1 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $7 + i32.store offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $7 + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $3 + local.tee $4 + i32.const 1 + i32.sub + local.set $3 + local.get $0 + local.get $4 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end end - local.get $2 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.tee $2 - call $~lib/util/number/decimalCount32 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $1 + global.set $~lib/memory/__stack_pointer + ) + (func $start:std/array~anonymous|48 (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple + i32.load local.get $1 + i32.load + i32.sub ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.const 7 + i32.and local.get $1 - i32.const 65535 + i32.const 7 i32.and - i32.const 10 - i32.lt_u + i32.or + i32.eqz + i32.const 0 + local.get $2 + i32.const 4 + i32.ge_u + select if - local.get $0 - local.get $1 - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 + loop $do-continue|0 + local.get $0 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $2 + local.tee $3 i32.const 1 - return + i32.sub + local.set $2 + local.get $3 + if + local.get $0 + i32.load16_u + local.tee $3 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $3 + local.get $4 + i32.sub + return + end + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end end + i32.const 0 + ) + (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + i32.const 1 local.get $1 - i32.const 65535 - i32.and - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 + i32.eqz + i32.const 1 + local.get $0 + i32.eqz local.get $0 - local.get $2 local.get $1 - call $~lib/util/number/utoa_dec_simple + i32.eq + select + select + if + i32.const 0 + return + end local.get $1 - ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 local.get $0 - i64.const 100000000000 - i64.ge_u - i32.const 10 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.or + i32.eqz + if + i32.const 0 + return + end + local.get $3 + i32.eqz + if + i32.const -1 + return + end + local.get $2 + i32.eqz + if + i32.const 1 + return + end + local.get $0 + local.get $1 + local.get $3 + local.get $2 + local.get $2 + local.get $3 + i32.gt_s + select + call $~lib/util/string/compareImpl + local.tee $0 + local.get $3 + local.get $2 + i32.sub + local.get $0 + select + ) + (func $std/array/assertSorted<~lib/string/String|null>@varargs (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 8880 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8880 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 1 + local.set $0 + local.get $1 + i32.load offset=12 + local.set $5 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $4 + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isSorted<~lib/string/String|null> + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 - i64.const 10000000000 - i64.ge_u + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 i32.add local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.const 13 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add local.get $0 - i64.const 10000000000000 - i64.ge_u + i32.const 1000 + i32.ge_u i32.add local.get $0 - i64.const 1000000000000 - i64.lt_u + i32.const 100 + i32.lt_u select local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 + i32.const 1000000 + i32.ge_u + i32.const 6 i32.add local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 + i32.const 1000000000 + i32.ge_u + i32.const 8 i32.add local.get $0 - i64.const 1000000000000000000 - i64.ge_u + i32.const 100000000 + i32.ge_u i32.add local.get $0 - i64.const 100000000000000000 - i64.lt_u + i32.const 10000000 + i32.lt_u select local.get $0 - i64.const 1000000000000000 - i64.lt_u + i32.const 100000 + i32.lt_u select ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) loop $do-continue|0 local.get $0 local.get $2 @@ -6025,78 +6412,36 @@ i32.shl i32.add local.get $1 - i64.const 10 - i64.rem_u - i32.wrap_i64 + i32.const 10 + i32.rem_u i32.const 48 i32.add i32.store16 local.get $1 - i64.const 10 - i64.div_u + i32.const 10 + i32.div_u local.tee $1 - i64.const 0 - i64.ne br_if $do-continue|0 end ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i64.const 10 - i64.lt_u - if - local.get $0 - local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 - return - end - local.get $1 - i64.const 4294967295 - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.tee $3 - call $~lib/util/number/decimalCount32 - local.set $2 - local.get $0 - local.get $3 - local.get $2 - call $~lib/util/number/utoa_dec_simple - else - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount64High - local.tee $2 - call $~lib/util/number/utoa_dec_simple - end - local.get $2 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) local.get $1 - i64.const 0 - i64.lt_s + i32.const 0 + i32.lt_s local.tee $2 if local.get $0 i32.const 45 i32.store16 - i64.const 0 + i32.const 0 local.get $1 - i64.sub + i32.sub local.set $1 end local.get $1 - i64.const 10 - i64.lt_u + i32.const 10 + i32.lt_u if local.get $0 local.get $2 @@ -6104,5225 +6449,1964 @@ i32.shl i32.add local.get $1 - i64.const 48 - i64.or - i64.store16 + i32.const 48 + i32.or + i32.store16 local.get $2 i32.const 1 i32.add return end + local.get $0 local.get $1 - i64.const 4294967295 - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.tee $3 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.set $2 - local.get $0 - local.get $3 - local.get $2 - call $~lib/util/number/utoa_dec_simple - else - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount64High - local.get $2 - i32.add - local.tee $2 - call $~lib/util/number/utoa_dec_simple - end + local.get $1 + call $~lib/util/number/decimalCount32 local.get $2 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $0 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.const 255 - i32.and i32.const 10 i32.lt_u if local.get $0 local.get $1 - i32.const 255 - i32.and i32.const 48 i32.or i32.store16 i32.const 1 return end - local.get $1 - i32.const 255 - i32.and - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 local.get $0 - local.get $2 local.get $1 - call $~lib/util/number/utoa_dec_simple local.get $1 - ) - (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $2 - local.get $0 - i32.load offset=12 - local.tee $3 - i32.ge_s - i32.const 1 - local.get $3 - select - if - i32.const -1 - return - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end + call $~lib/util/number/decimalCount32 + local.tee $0 + call $~lib/util/number/utoa_dec_simple local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 ) - (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $2 - local.get $0 - i32.load offset=12 - local.tee $3 - i32.ge_s - i32.const 1 + (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (local $7 i64) + (local $8 i64) + (local $9 i32) + (local $10 i64) + (local $11 i32) + (local $12 i64) + (local $13 i64) local.get $3 - select - if - i32.const -1 - return - end - local.get $2 + local.get $1 + i64.sub + local.set $8 + local.get $3 + i64.const 1 i32.const 0 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 + local.get $4 + i32.sub + local.tee $11 + i64.extend_i32_s + i64.shl + local.tee $10 + i64.const 1 + i64.sub + local.tee $12 + i64.and + local.set $7 + local.get $3 + local.get $11 + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $9 + loop $while-continue|0 + local.get $9 i32.const 0 i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s if - local.get $0 - local.get $2 - i32.add - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - ) - (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $0 - i32.load offset=12 - local.tee $3 - i32.const 1 - i32.add - local.tee $2 - i32.const 0 - call $~lib/array/ensureSize - local.get $3 - local.get $0 - i32.load offset=4 - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $2 - i32.store offset=12 - local.get $2 - ) - (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - local.get $3 - local.get $0 - i32.load offset=12 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $3 - local.get $0 - i32.load offset=4 - local.tee $5 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $4 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i32.lt_s - select - end - local.tee $1 - i32.add - local.get $5 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select - end - local.tee $2 - i32.add - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $4 - i32.add - local.tee $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.gt_s - select - else - local.get $3 - local.get $4 - local.get $3 - local.get $4 - i32.lt_s - select - end - local.get $2 - i32.sub - local.tee $2 - local.get $4 - local.get $1 - i32.sub - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - call $~lib/memory/memory.copy - local.get $0 - ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/tlsf/__alloc - local.tee $5 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $4 - i32.const 0 - i32.gt_s - if - local.get $4 - local.set $3 - loop $while-continue|1 - local.get $3 - i32.const 1 - i32.and - local.get $5 - local.get $3 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $3 - i32.const 1 - i32.shr_s - i32.shr_u - i32.const 1 - i32.and - i32.eq - if - local.get $3 - i32.const 1 - i32.shr_s - local.set $3 - br $while-continue|1 - end - end - local.get $0 - local.get $3 - i32.const 1 - i32.shr_s - local.tee $7 - i32.add - i32.load8_u - local.set $3 - local.get $0 - local.get $4 - i32.add - i32.load8_u - local.set $6 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $5 - local.get $4 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $8 - local.get $8 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $4 - i32.add - local.get $3 - i32.store8 - local.get $0 - local.get $7 - i32.add - local.get $6 - i32.store8 - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|0 - end - end - local.get $1 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|2 - local.get $4 - i32.const 2 - i32.ge_s - if - local.get $0 - i32.load8_u - local.set $1 - local.get $0 - local.get $0 - local.get $4 - i32.add - local.tee $3 - i32.load8_u - i32.store8 - local.get $3 - local.get $1 - i32.store8 - i32.const 1 - local.set $1 - loop $while-continue|3 - local.get $4 - local.get $5 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $1 - i32.shr_u - i32.const 1 - i32.and - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.gt_s - if - local.get $3 - local.set $1 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $1 - i32.const 0 - i32.gt_s - if - local.get $0 - i32.load8_u - local.set $3 - local.get $0 - local.get $1 - i32.add - i32.load8_u - local.set $6 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $5 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $7 - local.get $7 - i32.load - i32.const 1 - local.get $1 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $1 - i32.add - local.get $3 - i32.store8 - local.get $0 - local.get $6 - i32.store8 - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - br $while-continue|4 - end - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|2 - end - end - local.get $5 - call $~lib/rt/tlsf/__free - local.get $0 - i32.load8_u offset=1 - local.set $1 - local.get $0 - local.get $0 - i32.load8_u - i32.store8 offset=1 - local.get $0 - local.get $1 - i32.store8 - ) - (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $0 - i32.load offset=12 - local.tee $3 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $2 - i32.store offset=12 - local.get $2 - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - local.tee $0 - local.get $1 - i32.const 255 - i32.and - local.tee $1 - i32.gt_u - local.get $0 - local.get $1 - i32.lt_u - i32.sub - ) - (func $~lib/array/Array~visit (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=4 - local.tee $1 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load - local.tee $3 - if - local.get $3 - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner4 - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $std/array/ArrayStr - block $std/array/Proxy - block $std/array/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner4 $folding-inner0 $std/array/Ref $folding-inner4 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $std/array/Proxy $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner3 $folding-inner3 $std/array/ArrayStr $folding-inner2 $invalid - end - return - end - return - end - return - end - return - end - local.get $0 - call $~lib/array/Array~visit - return - end - unreachable - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - local.get $0 - call $~lib/array/Array~visit - return - end - local.get $0 - i32.load offset=4 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - ) - (func $~setArgumentsLength (param $0 i32) - local.get $0 - global.set $~argumentsLength - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std/array - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 13620 - i32.lt_s - if - i32.const 30032 - i32.const 30080 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.get $4 - i32.ne - br_if $folding-inner0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.get $4 - i32.ne - br_if $folding-inner0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $std/array/internalCapacity (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_s - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner1 - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $3 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $3 - call $~lib/array/Array#__get - local.get $4 - i32.ne - br_if $folding-inner0 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#indexOf - i32.const 0 - i32.ge_s - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1344 - i32.const 1104 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - local.get $4 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - ) - (func $start:std/array~anonymous|3 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 100 - i32.eq - ) - (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - local.get $4 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $start:std/array~anonymous|8 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 10 - i32.lt_s - ) - (func $start:std/array~anonymous|10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.lt_s - ) - (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - local.get $4 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $start:std/array~anonymous|13 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 10 - i32.gt_s - ) - (func $start:std/array~anonymous|15 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.gt_s - ) - (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - local.get $4 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|17 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|19 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|20 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.eqz - if - loop $for-loop|0 - local.get $3 - i32.const 4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - i32.const 100 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $3 - i32.const 100 - i32.add - call $~lib/array/Array#push - drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - i32.const 0 - local.set $3 - loop $for-loop|2 - local.get $3 - i32.const 100 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|2 - end - end - i32.const 0 - local.set $3 - loop $for-loop|3 - local.get $3 - i32.const 100 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $3 - i32.const 200 - i32.add - call $~lib/array/Array#push - drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|3 - end - end - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - i32.const 202 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 680 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|22 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#map (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=12 - local.tee $5 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store - local.get $3 - i32.load offset=4 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $5 - local.get $0 - i32.load offset=12 - local.tee $4 - local.get $4 - local.get $5 - i32.gt_s - select - i32.lt_s - if - local.get $2 - i32.const 2 - i32.shl - local.tee $4 - local.get $0 - i32.load offset=4 - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 3 - global.set $~argumentsLength - local.get $3 - local.get $4 - i32.add - local.get $6 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|24 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store - local.get $0 - i32.load offset=12 - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - local.get $5 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 3 - global.set $~argumentsLength - local.get $3 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - local.get $3 - call $~lib/array/Array#push - drop - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $start:std/array~anonymous|26 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.ge_s - ) - (func $start:std/array~anonymous|28 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/array/Array#pop - drop - local.get $0 - global.get $std/array/i - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.ge_s - ) - (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - local.set $5 - loop $for-loop|0 - local.get $3 - local.get $5 - local.get $0 - i32.load offset=12 - local.tee $4 - local.get $4 - local.get $5 - i32.gt_s - select - i32.lt_s - if - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $3 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $start:std/array~anonymous|33 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 1 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.add - ) - (func $start:std/array~anonymous|35 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=12 - i32.const 1 - i32.sub - local.set $3 - loop $for-loop|0 - local.get $3 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $3 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $7 - i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $7 - i32.const 2 - i32.eq - if - local.get $3 - f32.load offset=4 - local.set $4 - local.get $3 - f32.load - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $4 - local.get $5 - local.get $1 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - f32.store offset=4 - local.get $3 - local.get $4 - f32.store - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $7 - i32.const 256 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.set $2 - loop $for-loop|0 - local.get $6 - local.get $7 - i32.lt_s - if - local.get $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $4 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $4 - local.get $5 - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $3 - local.get $0 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $5 - f32.store - br $while-continue|1 - end - end - end - local.get $3 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $4 - f32.store - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $3 - local.get $7 - local.get $1 - call $~lib/util/sort/weakHeapSort - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $4 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner1 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.tee $3 - local.get $3 - f32.ne - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.tee $3 - local.get $3 - f32.ne - else - i32.const 0 - end - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.get $3 - f32.ne - br_if $folding-inner0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $7 - i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $7 - i32.const 2 - i32.eq - if - local.get $3 - f64.load offset=8 - local.set $4 - local.get $3 - f64.load - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $4 - local.get $5 - local.get $1 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - f64.store offset=8 - local.get $3 - local.get $4 - f64.store - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $7 - i32.const 256 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.set $2 - loop $for-loop|0 - local.get $6 - local.get $7 - i32.lt_s - if - local.get $3 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $4 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $3 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $4 - local.get $5 - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $3 - local.get $0 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store - br $while-continue|1 - end - end - end - local.get $3 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $4 - f64.store - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $3 - local.get $7 - local.get $1 - call $~lib/util/sort/weakHeapSort - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $4 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner1 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.tee $3 - local.get $3 - f64.ne - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.tee $3 - local.get $3 - f64.ne - else - i32.const 0 - end - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.get $3 - f64.ne - br_if $folding-inner0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $2 - i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $5 - local.get $2 - i32.const 2 - i32.eq - if - local.get $5 - i32.load offset=4 - local.set $2 - local.get $5 - i32.load - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $2 - local.get $3 - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $5 - local.get $3 - i32.store offset=4 - local.get $5 - local.get $2 - i32.store - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - i32.const 256 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $5 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $4 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $2 - i32.const 1 - i32.sub - local.set $1 - local.get $5 - local.get $2 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - br $while-continue|1 - end - end - end - local.get $5 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $5 - local.get $2 - local.get $1 - call $~lib/util/sort/weakHeapSort - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $2 - i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $5 - local.get $2 - i32.const 2 - i32.eq - if - local.get $5 - i32.load offset=4 - local.set $2 - local.get $5 - i32.load - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $2 - local.get $3 - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $5 - local.get $3 - i32.store offset=4 - local.get $5 - local.get $2 - i32.store - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - i32.const 256 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $5 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $4 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $2 - i32.const 1 - i32.sub - local.set $1 - local.get $5 - local.get $2 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - br $while-continue|1 - end - end - end - local.get $5 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $5 - local.get $2 - local.get $1 - call $~lib/util/sort/weakHeapSort - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $std/array/createReverseOrderedArray (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#constructor - local.tee $2 - i32.store - loop $for-loop|0 - local.get $0 - local.get $1 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $0 - i32.const 1 - i32.sub - local.get $1 - i32.sub - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/createRandomOrderedArray (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/array/Array#constructor - local.tee $1 - i32.store - loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $2 - call $~lib/math/NativeMath.random - local.get $0 - f64.convert_i32_s - f64.mul - i32.trunc_f64_s - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/array/assertSorted (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $0 - local.get $1 - call $~lib/array/Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$std/array/isSorted (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array#__get - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/array/Array#__get - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isSorted - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/assertSortedDefault (param $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8336 - i32.store offset=4 - local.get $0 - i32.const 8336 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1344 - i32.const 1104 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/createReverseOrderedNestedArray (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 8 - call $~lib/memory/memory.fill - local.get $0 - local.get $1 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 8 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $2 - i32.const 2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/array/Array#constructor - local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 0 + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $9 + i32.const 1 + i32.sub + br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 + end + local.get $2 + i32.const 1000000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 100000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 10000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 1000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100000 + i32.div_u + local.set $4 + local.get $2 + i32.const 100000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10000 + i32.div_u + local.set $4 + local.get $2 + i32.const 10000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 1000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100 + i32.div_u + local.set $4 + local.get $2 + i32.const 100 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10 + i32.div_u + local.set $4 + local.get $2 + i32.const 10 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + local.set $4 + i32.const 0 + local.set $2 + br $break|1 + end + i32.const 0 + local.set $4 + end + local.get $4 + local.get $6 + i32.or + if + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $4 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 + local.get $6 + i32.const 1 + i32.add + local.set $6 + end + local.get $9 i32.const 1 - local.get $2 i32.sub - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $0 - local.get $2 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $start:std/array~anonymous|47 (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - i32.sub - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - loop $for-loop|0 - local.get $1 - local.get $5 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 - i32.store + local.set $9 local.get $5 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $3 - i32.const 0 - i32.ge_s - if - block $while-break|1 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $7 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $7 + local.get $7 + local.get $2 + i64.extend_i32_u + local.get $11 + i64.extend_i32_s + i64.shl + i64.add + local.tee $1 + i64.ge_u + if + local.get $9 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $9 + i32.const 2 + i32.shl + i32.const 10928 + i32.add + i64.load32_u + local.get $11 + i64.extend_i32_s + i64.shl + local.set $10 + local.get $0 + local.get $6 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $2 + loop $while-continue|3 + i32.const 1 + local.get $8 + local.get $1 + i64.sub + local.get $1 + local.get $10 + i64.add + local.tee $3 + local.get $8 + i64.sub + i64.gt_u + local.get $3 + local.get $8 + i64.lt_u + select + i32.const 0 + local.get $10 + local.get $5 + local.get $1 + i64.sub + i64.le_u + i32.const 0 + local.get $1 + local.get $8 + i64.lt_u + select + select + if local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $3 - local.tee $4 - i32.const 1 - i32.sub - local.set $3 - local.get $0 - local.get $4 i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store - br $while-continue|1 + i32.sub + local.set $2 + local.get $1 + local.get $10 + i64.add + local.set $1 + br $while-continue|3 end end + local.get $0 + local.get $2 + i32.store16 + local.get $6 + return end + br $while-continue|0 + end + end + local.get $11 + i64.extend_i32_s + local.set $13 + loop $while-continue|4 (result i32) + local.get $5 + i64.const 10 + i64.mul + local.set $5 + local.get $7 + i64.const 10 + i64.mul + local.tee $3 + local.get $13 + i64.shr_u + local.tee $1 + local.get $6 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if local.get $0 - local.get $3 + local.get $6 i32.const 1 - i32.add - i32.const 2 i32.shl i32.add + local.get $1 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 local.get $6 - i32.store - local.get $5 i32.const 1 i32.add - local.set $5 - br $for-loop|0 + local.set $6 end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $2 + local.get $9 i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $2 + i32.sub + local.set $9 + local.get $3 + local.get $12 + i64.and + local.tee $7 + local.get $5 + i64.ge_u + br_if $while-continue|4 + local.get $9 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $7 + local.set $1 + local.get $8 + i32.const 0 + local.get $9 + i32.sub i32.const 2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer + i32.shl + i32.const 10928 + i32.add + i64.load32_u + i64.mul + local.set $8 + local.get $0 + local.get $6 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $2 + loop $while-continue|6 + i32.const 1 + local.get $8 + local.get $1 + i64.sub + local.get $1 + local.get $10 + i64.add + local.tee $3 + local.get $8 + i64.sub + i64.gt_u local.get $3 - i32.load - local.tee $4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - i32.const 2 - global.set $~argumentsLength - local.get $2 - local.get $4 + local.get $8 + i64.lt_u + select + i32.const 0 + local.get $10 + local.get $5 local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) + i64.sub + i64.le_u i32.const 0 - i32.lt_s + local.get $1 + local.get $8 + i64.lt_u + select + select if - local.get $3 - local.get $4 - i32.store offset=4 - local.get $3 local.get $2 - i32.store + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $10 + i64.add + local.set $1 + br $while-continue|6 end - br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $3 - local.get $2 - local.get $1 - call $~lib/util/sort/insertionSort<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $std/array/assertSorted<~lib/array/Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$std/array/isSorted<~lib/array/Array> (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 1 - local.set $2 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store16 + local.get $6 + end + ) + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $2 + i32.eqz + if local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 i32.store - local.get $0 - i32.load offset=12 - local.set $5 + local.get $1 + i32.const 2 + i32.add + return + end + local.get $1 + local.get $2 + i32.add + local.tee $3 + i32.const 21 + i32.le_s + i32.const 0 + local.get $1 + local.get $3 + i32.le_s + select + if (result i32) loop $for-loop|0 - local.get $2 - local.get $5 + local.get $1 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - local.get $2 + local.get $1 i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store + local.get $3 + i32.const 2 + i32.add + else + local.get $3 + i32.const 21 + i32.le_s + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + if (result i32) + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.const 2 + i32.add + local.get $0 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 + local.get $1 + i32.const 1 + i32.add + else + local.get $3 + i32.const 0 + i32.le_s + i32.const 0 + local.get $3 + i32.const -6 + i32.gt_s + select + if (result i32) + local.get $0 + i32.const 2 local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer + i32.sub + local.tee $3 + i32.const 1 + i32.shl + i32.add local.get $0 - i32.store offset=8 + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy local.get $0 - local.get $2 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + i32.const 3014704 + i32.store i32.const 2 - global.set $~argumentsLength + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 local.get $3 - local.get $4 + i32.add + else local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $1 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $2 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $1 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 offset=4 + local.get $0 + i32.const 2 + i32.add + else + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $1 + i32.const 1 + i32.shl + local.tee $2 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $2 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $3 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $2 + i32.const 45 + i32.const 43 + local.get $3 + select + i32.store16 offset=4 + local.get $0 + local.get $1 + i32.add + i32.const 2 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/array/Array> end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable + ) + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $1 + f64.const 0 + f64.lt + local.tee $9 + if (result f64) + local.get $0 + i32.const 45 + i32.store16 + local.get $1 + f64.neg + else + local.get $1 end - global.get $~lib/memory/__stack_pointer - i32.const 16 + i64.reinterpret_f64 + local.tee $2 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $8 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $2 + i64.const 4503599627370495 + i64.and + i64.add + local.tee $3 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $2 + local.get $2 + i64.clz + i32.wrap_i64 + local.tee $4 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus + local.get $8 + i32.const 1 + local.get $8 + select + i32.const 1075 + i32.sub + local.tee $8 + i32.const 1 + i32.sub + local.get $4 + i32.sub + local.set $4 + local.get $3 + local.get $3 + i64.const 4503599627370496 + i64.eq + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/createReverseOrderedElementsArray (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.tee $10 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $8 + local.get $10 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 2048 - i32.const 0 - call $~lib/rt/itcms/__new + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $4 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add local.tee $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 2048 - call $~lib/memory/memory.fill - local.get $0 - local.get $1 - call $~lib/array/Array#set:buffer - local.get $0 + i32.trunc_f64_s + local.tee $4 local.get $1 - i32.store offset=4 - local.get $0 - i32.const 2048 - i32.store offset=8 + local.get $4 + f64.convert_i32_s + f64.ne + i32.add + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.tee $4 + i32.const 3 + i32.shl + local.tee $10 + i32.sub + global.set $~lib/util/number/_K + local.get $10 + i32.const 10056 + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + local.get $4 + i32.const 1 + i32.shl + i32.const 10752 + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + global.get $~lib/util/number/_frc_pow + local.tee $6 + i64.const 4294967295 + i64.and + local.set $2 + local.get $6 + i64.const 32 + i64.shr_u + local.tee $6 + global.get $~lib/util/number/_frc_plus + local.tee $5 + i64.const 32 + i64.shr_u + local.tee $7 + i64.mul + local.get $2 + local.get $7 + i64.mul + local.get $2 + local.get $5 + i64.const 4294967295 + i64.and + local.tee $5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $7 + i64.const 32 + i64.shr_u + i64.add + local.get $5 + local.get $6 + i64.mul + local.get $7 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.sub + local.set $5 local.get $0 - i32.const 512 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $9 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - i32.store - loop $for-loop|0 - local.get $2 - i32.const 512 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 511 - local.get $2 - i32.sub - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $2 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $3 + local.get $3 + i64.clz + i32.wrap_i64 + local.tee $0 + i64.extend_i32_s + i64.shl + local.tee $3 + i64.const 32 + i64.shr_u + local.tee $7 + i64.mul + local.get $2 + local.get $7 + i64.mul + local.get $2 + local.get $3 + i64.const 4294967295 + i64.and + local.tee $3 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $7 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $6 + i64.mul + local.get $7 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + global.get $~lib/util/number/_exp_pow + local.tee $4 + local.get $8 local.get $0 - ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - i32.const 1 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - i32.eqz - local.get $0 - local.get $1 - i32.eq - select - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.or - i32.eqz - br_if $folding-inner0 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - return - end - local.get $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - local.get $3 - i32.sub - local.get $0 - select - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const -64 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 + local.get $5 + local.get $4 + global.get $~lib/util/number/_exp + i32.add + i32.const -64 + i32.sub + local.get $5 + local.get $6 + global.get $~lib/util/number/_frc_minus + local.tee $3 + i64.const 32 + i64.shr_u + local.tee $5 + i64.mul + local.get $2 + local.get $5 + i64.mul + local.get $2 + local.get $3 + i64.const 4294967295 + i64.and + local.tee $2 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $3 + i64.const 32 + i64.shr_u + i64.add + local.get $2 + local.get $6 + i64.mul + local.get $3 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.add + i64.sub + local.get $9 + call $~lib/util/number/genDigits + local.get $9 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.get $9 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) local.get $1 - i32.eq + f64.const 0 + f64.eq if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.store16 local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 46 + i32.store16 offset=2 local.get $0 - local.get $1 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 48 + i32.store16 offset=4 + i32.const 3 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $std/array/isArraysEqual<~lib/string/String|null> (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.set $5 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $5 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if + local.get $1 + local.get $1 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + return + else local.get $1 - i32.eq - br_if $folding-inner1 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - local.get $3 - call $~lib/array/Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - local.get $3 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $2 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - br_if $folding-inner0 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + f64.const 0 + f64.lt + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 end - br $folding-inner1 + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $2 + i32.const 8 + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 + local.get $0 + local.get $1 + call $~lib/util/number/dtoa_core ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 8912 - local.get $0 - select - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 0 - i32.store offset=8 - local.get $1 - i32.eqz + i32.lt_s + local.tee $2 if - global.get $~lib/memory/__stack_pointer - i32.const 8912 - i32.store - i32.const 8912 + local.get $0 + i32.const 45 + i32.store16 + i32.const 0 + local.get $1 + i32.sub local.set $1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/string/String#concat + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.lt_u + if + local.get $0 local.get $2 i32.const 1 i32.shl - local.tee $3 + i32.add local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 + i32.const 24 i32.shl - local.tee $4 - i32.add - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - local.set $2 - br $__inlined_func$~lib/string/String#concat - end - global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.shr_s + i32.const 48 + i32.or + i32.store16 local.get $2 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $4 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $2 + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $1 + local.get $0 local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $std/array/createRandomString (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f64) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - i32.const 8752 + local.get $1 + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $1 + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 + return + end + local.get $1 + i32.const 65535 + i32.and + local.tee $2 + call $~lib/util/number/decimalCount32 local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8752 - i32.store - loop $for-loop|0 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000 + i64.lt_u + select + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000000 + i64.lt_u + select + local.get $0 + i64.const 1000000000000000 + i64.lt_u + select + ) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) + loop $do-continue|0 local.get $0 - local.get $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7312 - i32.store offset=12 - call $~lib/math/NativeMath.random - global.get $~lib/memory/__stack_pointer - i32.const 7312 - i32.store offset=16 - i32.const 7308 - i32.load - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_f64_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 7312 - i32.store - block $__inlined_func$~lib/string/String#charAt - local.get $4 - i32.const 7308 - i32.load - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - local.set $2 - br $__inlined_func$~lib/string/String#charAt - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $4 - i32.const 1 - i32.shl - i32.const 7312 - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $~lib/string/String.__concat - local.tee $1 - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 10 + i64.rem_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store16 + local.get $1 + i64.const 10 + i64.div_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $3 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - local.tee $1 - local.get $1 - local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - local.get $1 local.get $1 - local.get $3 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $1 - i32.sub - local.tee $3 - i32.eqz + i64.const 10 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 + local.get $0 + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 return end - i32.const 0 - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.eq local.get $1 - select + i64.const 4294967295 + i64.le_u if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.wrap_i64 + local.tee $3 + call $~lib/util/number/decimalCount32 + local.set $2 local.get $0 - return + local.get $3 + local.get $2 + call $~lib/util/number/utoa_dec_simple + else + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount64High + local.tee $2 + call $~lib/util/number/utoa_dec_simple end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/util/string/joinBooleanArray (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s + i64.const 0 + i64.lt_s + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + i64.const 0 + local.get $1 + i64.sub + local.set $1 + end + local.get $1 + i64.const 10 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - i32.const 9008 - i32.const 9040 - local.get $0 - i32.load8_u - select - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 5 - i32.add - i32.mul - i32.const 5 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $0 - local.get $5 - i32.add - i32.load8_u - local.tee $8 - i32.eqz - i32.const 4 - i32.add - local.set $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9008 - i32.const 9040 - local.get $8 - select - local.get $6 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $6 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9072 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|1 - end - end local.get $0 - local.get $3 - i32.add - i32.load8_u - local.tee $3 - i32.eqz - i32.const 4 + local.get $2 + i32.const 1 + i32.shl i32.add - local.set $0 local.get $1 + i64.const 48 + i64.or + i64.store16 local.get $2 i32.const 1 - i32.shl i32.add - i32.const 9008 - i32.const 9040 - local.get $3 - select + return + end + local.get $1 + i64.const 4294967295 + i64.le_u + if + local.get $1 + i32.wrap_i64 + local.tee $3 + call $~lib/util/number/decimalCount32 + local.get $2 + i32.add + local.set $2 local.get $0 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 + local.get $3 + local.get $2 + call $~lib/util/number/utoa_dec_simple + else local.get $0 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount64High local.get $2 i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.tee $2 + call $~lib/util/number/utoa_dec_simple + end + local.get $2 + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 255 + i32.and + i32.const 10 + i32.lt_u + if + local.get $0 local.get $1 + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 255 + i32.and + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $1 local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 + local.get $2 + local.get $0 + i32.load offset=12 + local.tee $3 + i32.ge_s i32.const 1 - i32.sub - local.tee $4 + local.get $3 + select + if + i32.const -1 + return + end + local.get $2 i32.const 0 i32.lt_s if - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + local.get $3 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 end - block $folding-inner0 - local.get $4 - i32.eqz + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s if + local.get $1 local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add i32.load - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 11 - i32.add - i32.mul - i32.const 11 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s + i32.eq if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $3 - i32.add - local.set $3 - local.get $5 - if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $5 - i32.add - local.set $3 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 + local.get $2 + return end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - local.get $7 - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered + end + i32.const -1 + ) + (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $2 + local.get $0 + i32.load offset=12 + local.tee $3 + i32.ge_s + i32.const 1 + local.get $3 + select + if + i32.const -1 + return + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 local.get $3 i32.add - local.tee $0 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + local.get $2 + i32.add + i32.load8_u + local.get $1 + i32.const 255 + i32.and + i32.eq + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const -1 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (local $3 i32) local.get $0 - i32.load offset=4 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $3 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + call $~lib/array/ensureSize + local.get $3 + local.get $0 + i32.load offset=4 + i32.add + local.get $1 + i32.store8 + local.get $0 + local.get $2 + i32.store offset=12 + local.get $2 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub + local.get $3 + local.get $0 + i32.load offset=12 local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + local.set $3 + local.get $0 + i32.load offset=4 + local.tee $5 + local.get $1 i32.const 0 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 + if (result i32) + local.get $1 + local.get $4 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $4 + local.get $1 + local.get $4 + i32.lt_s + select end - block $folding-inner0 + local.tee $1 + i32.add + local.get $5 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 local.get $4 - i32.eqz - if - local.get $0 - i32.load - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer local.get $4 local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $3 - i32.add - local.set $3 - local.get $5 - if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $5 - i32.add - local.set $3 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $7 - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 local.get $4 - i32.const 2 - i32.shl + i32.lt_s + select + end + local.tee $2 + i32.add + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $4 i32.add - i32.load - call $~lib/util/number/itoa_buffered + local.tee $3 + i32.const 0 local.get $3 - i32.add - local.tee $0 + i32.const 0 i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + select + else + local.get $3 + local.get $4 + local.get $3 + local.get $4 + i32.lt_s + select end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=4 - local.get $0 - i32.load offset=12 - global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $4 local.get $1 - i32.store + i32.sub + local.tee $1 local.get $1 - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + i32.gt_s + select + call $~lib/memory/memory.copy + local.get $0 ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 f64) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (local $8 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/tlsf/__alloc + local.tee $5 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill local.get $1 i32.const 1 i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 + local.set $4 + loop $for-loop|0 local.get $4 - i32.eqz + i32.const 0 + i32.gt_s if - local.get $0 - f64.load + local.get $4 local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/dtoa + loop $while-continue|1 local.get $3 - f64.const 0 - f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9856 - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end + i32.const 1 + i32.and + local.get $5 local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load local.get $3 - f64.sub - f64.const 0 - f64.ne + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq if local.get $3 - local.get $3 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9888 - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9920 - i32.const 9968 - local.get $3 - f64.const 0 - f64.lt - select - local.set $0 - br $__inlined_func$~lib/util/number/dtoa + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 end - i32.const 10000 - local.get $3 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 10000 - local.get $1 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 9824 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 9820 - i32.load - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 28 - i32.add - i32.mul - i32.const 28 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $7 + i32.add + i32.load8_u + local.set $3 + local.get $0 local.get $4 + i32.add + i32.load8_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 local.get $6 - i32.gt_s + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - local.get $1 - local.get $2 + local.get $5 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $8 + local.get $8 + i32.load i32.const 1 + local.get $4 i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 i32.add + local.get $3 + i32.store8 local.get $0 + local.get $7 + i32.add local.get $6 - i32.const 3 + i32.store8 + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + i32.load8_u + local.set $1 + local.get $0 + local.get $0 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.get $1 + i32.store8 + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 i32.shl i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl i32.add - local.set $2 - local.get $5 + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s if + local.get $0 + i32.load8_u + local.set $3 + local.get $0 local.get $1 - local.get $2 - i32.const 1 - i32.shl i32.add - i32.const 9824 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + i32.load8_u + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 local.get $2 - local.get $5 - i32.add - local.set $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $7 + local.get $7 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.add + local.get $3 + i32.store8 + local.get $0 + local.get $6 + i32.store8 + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|2 end - local.get $7 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $5 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load8_u offset=1 + local.set $1 + local.get $0 + local.get $0 + i32.load8_u + i32.store8 offset=1 local.get $0 + local.get $1 + i32.store8 ) - (func $~lib/util/string/joinReferenceArray<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - local.get $1 + (local $7 i32) + (local $8 i32) + local.get $0 + i32.load offset=12 + local.tee $2 i32.const 1 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s + i32.le_s if - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 + local.get $0 return end - local.get $4 - i32.eqz + local.get $0 + i32.load offset=4 + local.set $5 + local.get $2 + i32.const 2 + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 + i32.load8_u offset=1 + local.set $2 + local.get $5 + i32.load8_u + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $2 + local.get $3 + local.get $1 i32.load - local.tee $0 - i32.store - local.get $0 + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - else - i32.const 8752 - local.set $0 + local.get $5 + local.get $3 + i32.store8 offset=1 + local.get $5 + local.get $2 + i32.store8 end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 return end - i32.const 8752 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $6 - loop $for-loop|0 - local.get $4 - local.get $5 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $3 - i32.store + i32.const 256 + i32.lt_s + if + local.get $2 + local.set $3 + local.get $1 + local.set $4 + loop $for-loop|0 local.get $3 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $3 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 - end local.get $6 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $6 + i32.add + i32.load8_u + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $1 + local.get $5 + i32.add + i32.load8_u + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $4 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $2 + i32.const 1 + i32.sub + local.set $1 + local.get $5 + local.get $2 + i32.const 1 + i32.add + i32.add + local.get $8 + i32.store8 + br $while-continue|1 + end + end + end + local.get $5 local.get $1 - local.get $2 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 + i32.const 1 + i32.add + i32.add + local.get $7 + i32.store8 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 end + else + local.get $5 + local.get $2 + local.get $1 + call $~lib/util/sort/weakHeapSort end - global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 + ) + (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + local.get $0 + i32.load offset=12 + local.tee $3 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + i32.load offset=4 + local.get $3 i32.const 2 i32.shl i32.add - i32.load - local.tee $0 + local.get $1 i32.store local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=12 + local.get $2 ) - (func $~lib/array/Array<~lib/string/String|null>#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/ArrayU32#constructor@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11332,177 +8416,343 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 40 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $0 - i32.load offset=12 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $1 + i32.const 2 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $0 + local.get $2 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $3 + i32.store offset=8 + local.get $0 + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.store - local.get $1 - call $~lib/util/string/joinReferenceArray<~lib/string/String|null> global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (result i32) + (func $std/array/ArrayU8#constructor@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 1 - i32.sub - local.tee $2 i32.const 0 - i32.lt_s + i32.store + local.get $0 + i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return + i32.const 16 + i32.const 41 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $2 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new local.tee $0 i32.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 11168 - else - i32.const 8752 - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return end - i32.const 8752 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8752 + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + local.get $1 + i32.const 1073741820 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 9072 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 i32.store offset=4 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.set $5 - loop $for-loop|0 + local.get $2 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $0 + local.get $2 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + local.tee $0 + local.get $1 + i32.const 255 + i32.and + local.tee $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $~lib/array/Array~visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 local.get $2 - local.get $3 - i32.gt_s + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add + local.get $1 i32.load - local.tee $4 - i32.store - local.get $4 + local.tee $3 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 11168 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 11168 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 + local.get $3 + call $~lib/rt/itcms/__visit end - local.get $5 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 9072 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $std/array/ArrayStr + block $std/array/Proxy + block $std/array/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner4 $folding-inner0 $std/array/Ref $folding-inner4 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $std/array/Proxy $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner3 $folding-inner3 $std/array/ArrayStr $folding-inner2 $invalid + end + return + end + return + end + return + end + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + unreachable + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + call $~lib/array/Array~visit + return end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return end - global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add i32.load local.tee $0 - i32.store - local.get $0 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 11168 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 11168 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=8 + call $~lib/rt/itcms/__visit + end + ) + (func $~setArgumentsLength (param $0 i32) + local.get $0 + global.set $~argumentsLength + ) + (func $~start + global.get $~started + if + return end + i32.const 1 + global.set $~started + call $start:std/array + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + i32.const 13620 + i32.lt_s + if + i32.const 30032 + i32.const 30080 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) - (func $~lib/array/Array#join (param $0 i32) (result i32) - (local $1 i32) + (func $std/array/assertSorted (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11512,187 +8762,192 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.get $0 - i32.load offset=12 + local.get $1 + call $~lib/array/Array#sort + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 9072 + local.get $0 i32.store - call $~lib/util/string/joinReferenceArray + block $__inlined_func$std/array/isSorted (result i32) + i32.const 1 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.set $4 + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.set $5 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + local.get $4 + local.get $5 + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + br_if $__inlined_func$std/array/isSorted + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) + (func $std/array/assertSortedDefault (param $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 + i32.const 8336 + i32.store local.get $0 - i32.const 9072 - call $~lib/array/Array#join + i32.const 8336 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (func $std/array/assertSorted<~lib/array/Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 i32.const 0 - i32.lt_s - if + i32.store + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + block $__inlined_func$std/array/isSorted<~lib/array/Array> (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 - i32.add + i32.sub global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_s - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 - i32.add - i32.mul - i32.const 11 - i32.add - local.tee $6 - i32.const 1 - i32.shl + i64.const 0 + i64.store i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $5 loop $for-loop|0 - local.get $3 + local.get $2 local.get $5 - i32.gt_s + i32.lt_s if - local.get $1 + local.get $0 local.get $2 i32.const 1 - i32.shl - i32.add + i32.sub + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store local.get $0 - local.get $5 - i32.add - i32.load8_s - call $~lib/util/number/itoa_buffered local.get $2 - i32.add - local.set $2 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9072 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 + i32.store offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $4 + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $2 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isSorted<~lib/array/Array> end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.add - i32.load8_s - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (result i32) + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11701,172 +8956,248 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.tee $3 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 - local.get $3 - i32.eqz + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 2048 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 2048 + call $~lib/memory/memory.fill + local.get $0 + local.get $1 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + i32.const 2048 + i32.store offset=8 + local.get $0 + i32.const 512 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + loop $for-loop|0 + local.get $2 + i32.const 512 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 24 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 511 + local.get $2 + i32.sub + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $0 - i32.load16_u - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 + local.get $2 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9072 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 8912 + local.get $0 + select + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/string/String#concat + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8912 + i32.store + i32.const 8912 + local.set $1 end - local.get $6 local.get $1 - local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 + i32.shr_u i32.const 1 i32.shl - i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered + local.tee $4 local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $3 i32.add local.tee $0 - i32.gt_s + i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 local.set $0 - br $folding-inner0 + br $__inlined_func$~lib/string/String#concat end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + local.get $0 + local.get $2 + local.get $3 + call $~lib/memory/memory.copy + local.get $0 + local.get $3 + i32.add + local.get $1 + local.get $4 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (func $std/array/createRandomString (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - (local $3 i64) + (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) + (local $6 f64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 - local.get $4 - i32.eqz + i32.store offset=8 + i32.const 8752 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8752 + i32.store + loop $for-loop|0 + local.get $0 + local.get $3 + i32.gt_s if - local.get $0 - i64.load - local.set $3 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7312 + i32.store offset=4 + call $~lib/math/NativeMath.random + global.get $~lib/memory/__stack_pointer + i32.const 7312 + i32.store offset=8 + i32.const 7308 + i32.load + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_f64_s + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11875,183 +9206,78 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $__inlined_func$~lib/util/number/utoa64 - local.get $3 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9376 - local.set $0 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $3 - i64.const 4294967295 - i64.le_u - if - local.get $3 - i32.wrap_i64 - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - else - local.get $3 - call $~lib/util/number/decimalCount64High - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - local.get $1 - call $~lib/util/number/utoa_dec_simple - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 20 - i32.add - i32.mul - i32.const 20 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $2 + block $__inlined_func$~lib/string/String#charAt + local.get $4 + i32.const 7308 + i32.load i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $5 + i32.shr_u + i32.ge_u if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9072 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $2 + global.set $~lib/memory/__stack_pointer + i32.const 8752 + local.set $1 + br $__inlined_func$~lib/string/String#charAt end - local.get $6 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + local.get $4 i32.const 1 + i32.shl + i32.const 7312 i32.add - local.set $6 - br $for-loop|0 + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end - end - local.get $7 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if global.get $~lib/memory/__stack_pointer local.get $1 - i32.store + i32.store offset=4 + local.get $2 local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + call $~lib/string/String.__concat + local.tee $2 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinReferenceArray<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -12060,161 +9286,118 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 8752 return end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i64.load - i32.wrap_i64 - i64.extend_i32_s - call $~lib/util/number/itoa64 - local.set $0 - br $folding-inner0 - end + local.get $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 9072 + local.get $0 + i32.load + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9068 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 21 - i32.add - i32.mul - i32.const 21 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9072 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl + i32.const 12 i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 8752 local.get $0 + select + return + end + i32.const 8752 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8752 + i32.store offset=4 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $6 + loop $for-loop|0 local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 + local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $5 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array<~lib/string/String|null>#toString (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 local.get $0 - i32.const 9072 - call $~lib/array/Array<~lib/string/String|null>#join + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12222,26 +9405,23 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 8752 return end - local.get $3 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -12249,95 +9429,71 @@ i32.load local.tee $0 i32.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/array/Array#toString - else - i32.const 8752 - end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + i32.const 11168 + i32.const 8752 + local.get $0 + select return end i32.const 8752 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 9072 i32.store offset=4 i32.const 9068 i32.load i32.const 1 i32.shr_u - local.set $5 + local.set $4 loop $for-loop|0 + local.get $2 local.get $3 - local.get $4 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.shl i32.add i32.load - local.tee $2 + local.tee $5 i32.store - local.get $2 + local.get $5 if global.get $~lib/memory/__stack_pointer + i32.const 11168 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $2 - call $~lib/array/Array#toString - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $1 - local.get $2 + i32.const 11168 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end - local.get $5 + local.get $4 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 9072 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -12347,174 +9503,45 @@ local.get $0 if global.get $~lib/memory/__stack_pointer + i32.const 11168 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 - local.get $0 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $1 - local.get $0 + i32.const 11168 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/array/Array#toString (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $4 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8752 - return - end - block $folding-inner0 - local.get $4 - i32.eqz - if - local.get $0 - i32.load8_u - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $3 - i32.add - local.set $3 - local.get $5 - if - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $5 - i32.add - local.set $3 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $7 - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $4 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $3 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - end + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 + i32.const 9072 + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array<~lib/string/String|null>#toString (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12523,23 +9550,28 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store local.get $0 i32.load offset=4 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/util/string/joinIntegerArray + i32.const 9072 + call $~lib/util/string/joinReferenceArray<~lib/string/String|null> global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12547,16 +9579,148 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.tee $2 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $0 + i32.store + local.get $0 + if (result i32) + local.get $0 + call $~lib/array/Array#toString + else + i32.const 8752 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 8752 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8752 + i32.store offset=4 + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $3 + i32.store + local.get $3 + if + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/array/Array#toString + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $1 + local.get $3 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 9072 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $1 + local.get $0 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=4 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#toString (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer i32.const 9072 - i32.store offset=4 + i32.store + local.get $0 + i32.load offset=4 local.get $0 + i32.load offset=12 i32.const 9072 - call $~lib/array/Array#join + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -12567,7 +9731,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12575,26 +9739,23 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 8752 return end - local.get $3 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -12604,16 +9765,13 @@ i32.store local.get $0 if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 call $~lib/array/Array#toString else i32.const 8752 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer return @@ -12622,9 +9780,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 9072 i32.store offset=4 i32.const 9068 i32.load @@ -12632,7 +9787,7 @@ i32.shr_u local.set $5 loop $for-loop|0 - local.get $3 + local.get $2 local.get $4 i32.gt_s if @@ -12643,43 +9798,31 @@ i32.shl i32.add i32.load - local.tee $2 + local.tee $3 i32.store - local.get $2 + local.get $3 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $2 + local.get $3 call $~lib/array/Array#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 + local.get $3 + i32.store offset=8 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $5 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 9072 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $4 i32.const 1 @@ -12690,7 +9833,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -12700,50 +9843,44 @@ local.get $0 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=12 + i32.store offset=8 local.get $1 local.get $0 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer i32.const 9072 - i32.store offset=4 + i32.store + local.get $0 + i32.load offset=4 local.get $0 + i32.load offset=12 i32.const 9072 - call $~lib/array/Array#join + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -12754,7 +9891,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12762,26 +9899,23 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 8752 return end - local.get $3 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -12791,16 +9925,13 @@ i32.store local.get $0 if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 call $~lib/array/Array#toString else i32.const 8752 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer return @@ -12809,9 +9940,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 9072 i32.store offset=4 i32.const 9068 i32.load @@ -12819,7 +9947,7 @@ i32.shr_u local.set $5 loop $for-loop|0 - local.get $3 + local.get $2 local.get $4 i32.gt_s if @@ -12830,43 +9958,31 @@ i32.shl i32.add i32.load - local.tee $2 + local.tee $3 i32.store - local.get $2 + local.get $3 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $2 + local.get $3 call $~lib/array/Array#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 + local.get $3 + i32.store offset=8 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $5 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 9072 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $4 i32.const 1 @@ -12877,7 +9993,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -12887,70 +10003,45 @@ local.get $0 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=12 + i32.store offset=8 local.get $1 local.get $0 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer i32.const 9072 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.store local.get $0 i32.load offset=4 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store call $~lib/util/string/joinReferenceArray<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -12959,7 +10050,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12967,26 +10058,23 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 8752 return end - local.get $3 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -12996,16 +10084,13 @@ i32.store local.get $0 if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 call $~lib/array/Array<~lib/array/Array>#toString else i32.const 8752 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer return @@ -13014,9 +10099,6 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 9072 i32.store offset=4 i32.const 9068 i32.load @@ -13024,7 +10106,7 @@ i32.shr_u local.set $5 loop $for-loop|0 - local.get $3 + local.get $2 local.get $4 i32.gt_s if @@ -13035,43 +10117,31 @@ i32.shl i32.add i32.load - local.tee $2 + local.tee $3 i32.store - local.get $2 + local.get $3 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $2 + local.get $3 call $~lib/array/Array<~lib/array/Array>#toString - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 + local.get $3 + i32.store offset=8 local.get $1 - local.get $2 + local.get $3 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $5 if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 9072 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end local.get $4 i32.const 1 @@ -13082,7 +10152,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add @@ -13092,26 +10162,20 @@ local.get $0 if global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=16 local.get $0 call $~lib/array/Array<~lib/array/Array>#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=12 + i32.store offset=8 local.get $1 local.get $0 call $~lib/string/String.__concat local.tee $1 - i32.store offset=8 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -13122,12 +10186,12 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 f32) + (local $6 f64) (local $7 i32) (local $8 i32) - (local $9 f32) - (local $10 f64) + (local $9 i32) + (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 72 @@ -13188,23 +10252,20 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13213,56 +10274,56 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store end - local.get $0 + local.get $1 i32.const 0 call $~lib/array/Array#set:buffer - local.get $0 + local.get $1 i32.const 0 i32.store offset=4 - local.get $0 + local.get $1 i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 0 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store offset=4 - local.get $1 + local.get $0 i32.const 0 i32.const 1 call $~lib/memory/memory.fill - local.get $0 local.get $1 - call $~lib/array/Array#set:buffer local.get $0 + call $~lib/array/Array#set:buffer local.get $1 - i32.store offset=4 local.get $0 + i32.store offset=4 + local.get $1 i32.const 1 i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1664 @@ -13289,18 +10350,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 0 i32.const 6 @@ -13322,18 +10377,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 i32.const 0 i32.const 2147483647 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 0 i32.const 6 @@ -13355,18 +10404,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 0 i32.const 6 @@ -13388,18 +10431,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const -2 i32.const 2147483647 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 0 i32.const 6 @@ -13421,18 +10458,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 0 i32.const 6 @@ -13462,18 +10493,12 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 7 @@ -13495,18 +10520,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 i32.const 0 i32.const 2147483647 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 7 @@ -13528,18 +10547,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 7 @@ -13561,18 +10574,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const -2 i32.const 2147483647 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 7 @@ -13594,18 +10601,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 7 @@ -14005,15 +11006,9 @@ call $~lib/array/Array#__uset local.get $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 if @@ -14032,9 +11027,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#at @@ -14048,9 +11040,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 3 call $~lib/array/Array#at @@ -14064,9 +11053,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const -1 call $~lib/array/Array#at @@ -14080,9 +11066,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const -4 call $~lib/array/Array#at @@ -14106,9 +11089,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 call $~lib/array/Array#concat @@ -14146,9 +11126,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 3 @@ -14161,9 +11138,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 0 i32.const 2 i32.const 3 @@ -14193,9 +11167,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -14209,9 +11180,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -14225,9 +11193,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -14241,16 +11206,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.const 46 call $~lib/array/Array#push drop - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.const 47 call $~lib/array/Array#push @@ -14260,9 +11219,6 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 call $~lib/array/Array#concat @@ -14284,9 +11240,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.load offset=12 i32.const 2 @@ -14299,9 +11252,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 5 @@ -14314,9 +11264,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -14330,9 +11277,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -14346,9 +11290,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -14362,9 +11303,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 3 call $~lib/array/Array#__get @@ -14378,9 +11316,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 4 call $~lib/array/Array#__get @@ -14394,15 +11329,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 call $~lib/array/Array#pop drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 4 @@ -14423,9 +11352,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 if @@ -14437,9 +11363,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $1 i32.store offset=8 @@ -14449,9 +11372,6 @@ call $~lib/array/Array#concat local.tee $1 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.load offset=12 i32.const 3 @@ -14464,9 +11384,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 if @@ -14485,9 +11402,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const 3 @@ -14527,9 +11441,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 1 i32.const 3 @@ -14569,9 +11480,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 1 i32.const 2 @@ -14611,9 +11519,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 2 i32.const 2 @@ -14653,9 +11558,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const 3 @@ -14695,9 +11597,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 1 i32.const 3 @@ -14737,9 +11636,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 1 i32.const 2 @@ -14779,9 +11675,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const -2 @@ -14821,9 +11714,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const -2 @@ -14863,9 +11753,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -4 i32.const -3 @@ -14905,9 +11792,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -4 i32.const -3 @@ -14947,9 +11831,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -4 i32.const -3 @@ -15245,10 +12126,10 @@ local.tee $2 i32.const 2 i32.shl - local.tee $5 + local.tee $4 call $~lib/memory/memory.copy local.get $1 - local.get $5 + local.get $4 i32.add i32.const 0 i32.store @@ -15478,28 +12359,22 @@ i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 3 i32.const 2 i32.const 3 i32.const 3536 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15513,28 +12388,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 2 i32.const 2 i32.const 3 i32.const 3568 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15548,28 +12417,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 4 i32.const 2 i32.const 3 i32.const 3600 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15583,20 +12446,11 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 0 i32.const 2147483647 call $~lib/array/Array#slice local.tee $1 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $1 local.get $0 i32.const 0 @@ -15612,28 +12466,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const -2 i32.const 2147483647 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 2 i32.const 2 i32.const 3 i32.const 3648 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15647,28 +12495,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 2 i32.const 2 i32.const 3 i32.const 3680 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15682,28 +12524,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $1 + local.tee $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store i32.const 2 i32.const 2 i32.const 3 i32.const 3712 call $~lib/rt/__newArray - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 local.get $1 + i32.store offset=8 local.get $2 + local.get $1 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -15715,9 +12551,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const -1 i32.const -3 @@ -15736,9 +12569,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 10 i32.const 2147483647 @@ -15759,18 +12589,18 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 i32.load offset=12 - local.tee $2 + local.tee $1 if - local.get $1 + local.get $0 i32.load offset=4 - local.set $0 - local.get $1 + local.set $2 + local.get $0 i32.load offset=4 - local.get $2 + local.get $1 i32.const 1 i32.sub i32.const 2 @@ -15778,24 +12608,24 @@ i32.add local.set $1 loop $while-continue|0 - local.get $0 local.get $1 - i32.lt_u + local.get $2 + i32.gt_u if - local.get $0 + local.get $2 i32.load - local.set $2 - local.get $0 + local.set $0 + local.get $2 local.get $1 i32.load i32.store local.get $1 - local.get $2 - i32.store local.get $0 + i32.store + local.get $2 i32.const 4 i32.add - local.set $0 + local.set $2 local.get $1 i32.const 4 i32.sub @@ -16235,9 +13065,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 1 global.set $~argumentsLength local.get $0 @@ -16253,9 +13080,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 1 global.set $~argumentsLength local.get $0 @@ -16271,9 +13095,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const 3 @@ -16288,9 +13109,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const 2 @@ -16303,9 +13121,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const -2 @@ -16318,9 +13133,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 i32.const -1 @@ -16342,9 +13154,9 @@ local.get $0 i32.const 44 i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16360,9 +13172,9 @@ local.get $0 i32.const 42 i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16378,7 +13190,9 @@ local.get $0 i32.const 45 i32.const 0 - call $~lib/array/Array#includes + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s if i32.const 0 i32.const 1552 @@ -16394,7 +13208,9 @@ local.get $0 i32.const 43 i32.const 100 - call $~lib/array/Array#includes + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s if i32.const 0 i32.const 1552 @@ -16410,9 +13226,9 @@ local.get $0 i32.const 43 i32.const -100 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16428,9 +13244,9 @@ local.get $0 i32.const 43 i32.const -2 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16446,9 +13262,9 @@ local.get $0 i32.const 43 i32.const -4 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16464,9 +13280,9 @@ local.get $0 i32.const 43 i32.const 0 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16482,9 +13298,9 @@ local.get $0 i32.const 43 i32.const 1 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16500,9 +13316,9 @@ local.get $0 i32.const 43 i32.const 2 - call $~lib/array/Array#includes - i32.const 1 - i32.ne + call $~lib/array/Array#indexOf + i32.const 0 + i32.lt_s if i32.const 0 i32.const 1552 @@ -16516,54 +13332,54 @@ i32.const 9 i32.const 3856 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 0 - local.set $0 + local.set $2 i32.const 0 - local.get $1 + local.get $0 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.load offset=4 - local.set $1 - loop $while-continue|024 - local.get $0 - local.get $4 + local.set $0 + loop $while-continue|033 + local.get $2 + local.get $3 i32.lt_s if i32.const 1 i32.const 1 - local.get $1 local.get $0 + local.get $2 i32.const 2 i32.shl i32.add f32.load - local.tee $9 - local.get $9 + local.tee $5 + local.get $5 f32.ne - local.get $9 + local.get $5 f32.const nan:0x400000 f32.eq select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|024 + local.set $2 + br $while-continue|033 end end i32.const 0 @@ -16582,54 +13398,54 @@ i32.const 10 i32.const 3888 call $~lib/rt/__newArray - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store block $__inlined_func$~lib/array/Array#includes (result i32) i32.const 0 - local.set $0 + local.set $2 i32.const 0 - local.get $1 + local.get $0 i32.load offset=12 - local.tee $4 + local.tee $3 i32.const 0 i32.le_s i32.const 1 - local.get $4 + local.get $3 select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $1 + local.get $0 i32.load offset=4 - local.set $1 - loop $while-continue|025 - local.get $0 - local.get $4 + local.set $0 + loop $while-continue|034 + local.get $2 + local.get $3 i32.lt_s if i32.const 1 i32.const 1 - local.get $1 local.get $0 + local.get $2 i32.const 3 i32.shl i32.add f64.load - local.tee $10 - local.get $10 + local.tee $6 + local.get $6 f64.ne - local.get $10 + local.get $6 f64.const nan:0x8000000000000 f64.eq select br_if $__inlined_func$~lib/array/Array#includes drop - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|025 + local.set $2 + br $while-continue|034 end end i32.const 0 @@ -16726,9 +13542,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const 2147483647 @@ -16759,9 +13572,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 0 i32.const 2 i32.const 3 @@ -16792,9 +13602,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const 0 @@ -16825,9 +13632,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -16858,9 +13662,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 2 i32.const 2147483647 @@ -16891,9 +13692,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 2 i32.const 2 i32.const 3 @@ -16924,9 +13722,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 2 i32.const 2 @@ -16957,9 +13752,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 3 i32.const 2 i32.const 3 @@ -16990,9 +13782,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 0 i32.const 1 @@ -17023,9 +13812,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 4 i32.const 2 i32.const 3 @@ -17056,9 +13842,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -1 i32.const 2147483647 @@ -17089,9 +13872,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 4 i32.const 2 i32.const 3 @@ -17122,9 +13902,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -2 i32.const 2147483647 @@ -17155,9 +13932,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 3 i32.const 2 i32.const 3 @@ -17188,9 +13962,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -2 i32.const 1 @@ -17221,9 +13992,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 4 i32.const 2 i32.const 3 @@ -17254,9 +14022,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -7 i32.const 1 @@ -17287,9 +14052,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 4 i32.const 2 i32.const 3 @@ -17320,9 +14082,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const -2 i32.const -1 @@ -17353,9 +14112,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -17386,9 +14142,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 1 i32.const -2 @@ -17419,9 +14172,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -17452,9 +14202,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 4 i32.const 0 @@ -17485,9 +14232,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -17518,9 +14262,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 7 i32.const 0 @@ -17551,9 +14292,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -17584,9 +14322,6 @@ call $~lib/rt/__newArray local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $0 i32.const 7 i32.const 5 @@ -17617,9 +14352,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 5 i32.const 2 i32.const 3 @@ -17652,16 +14384,10 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 call $~lib/array/Array#splice local.tee $1 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.load offset=12 if @@ -17672,9 +14398,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 if @@ -17693,11 +14416,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=24 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=28 + i32.store offset=24 local.get $0 i32.const 0 i32.const 1 @@ -17727,16 +14450,10 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 call $~lib/array/Array#splice local.tee $1 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.load offset=12 i32.const 2 @@ -17749,9 +14466,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -17766,9 +14480,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -17783,9 +14494,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 3 @@ -17798,9 +14506,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -17815,9 +14520,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -17832,9 +14534,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -17857,11 +14556,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=28 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=24 + i32.store offset=20 local.get $0 i32.const 0 i32.const 1 @@ -17877,18 +14576,12 @@ call $std/array/Ref#constructor call $~lib/array/Array#__uset local.get $0 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#splice local.tee $1 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store + i32.store offset=24 local.get $1 i32.load offset=12 i32.const 1 @@ -17903,13 +14596,10 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 i32.const 0 call $~lib/array/Array#__get local.tee $1 - i32.store offset=32 + i32.store offset=28 local.get $1 i32.eqz if @@ -17932,9 +14622,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 2 @@ -17947,9 +14634,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -17963,13 +14647,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 call $~lib/array/Array#__get local.tee $0 - i32.store offset=32 + i32.store offset=28 local.get $0 i32.eqz if @@ -18767,23 +15448,23 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store - local.get $1 + local.get $0 call $~lib/array/Array#pop drop - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -18827,80 +15508,76 @@ i32.const 6560 i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 i32.load offset=12 - local.tee $2 + local.tee $3 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.load offset=4 - local.set $5 - loop $for-loop|042 + local.set $7 + loop $for-loop|051 + local.get $0 local.get $3 - local.get $2 local.get $1 i32.load offset=12 - local.tee $6 - local.get $2 - local.get $6 + local.tee $8 + local.get $3 + local.get $8 i32.lt_s select i32.lt_s if - local.get $3 + local.get $0 i32.const 2 i32.shl - local.tee $6 + local.tee $8 local.get $1 i32.load offset=4 i32.add i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $9 i32.const 3 global.set $~argumentsLength - local.get $5 - local.get $6 - i32.add local.get $7 - local.get $3 + local.get $8 + i32.add + local.get $9 + local.get $0 local.get $1 i32.const 6560 i32.load call_indirect (type $i32_i32_i32_=>_f32) f32.store - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $for-loop|042 + local.set $0 + br $for-loop|051 end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 + local.get $2 + i32.store offset=24 + local.get $2 i32.load offset=12 i32.const 4 i32.ne @@ -18912,10 +15589,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 + local.get $2 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -19092,10 +15766,7 @@ i32.const 6688 call $~lib/array/Array#filter local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.store offset=24 local.get $0 i32.load offset=12 i32.const 2 @@ -19491,10 +16162,185 @@ local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7040 + i32.const 7040 + i32.store offset=8 + local.get $0 + i32.const 7040 + i32.const 0 + call $~lib/array/Array#reduceRight + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 829 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7072 + i32.store offset=8 + local.get $0 + i32.const 7072 + i32.const 4 + call $~lib/array/Array#reduceRight + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 833 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7104 + i32.store offset=8 + local.get $0 + i32.const 7104 + i32.const 0 + call $~lib/array/Array#reduceRight + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 836 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7136 + i32.store offset=8 + local.get $0 + i32.const 7136 + i32.const 0 + call $~lib/array/Array#reduceRight + if + i32.const 0 + i32.const 1552 + i32.const 839 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7168 + i32.store offset=8 + local.get $0 + i32.const 7168 + i32.const 0 + call $~lib/array/Array#reduceRight + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 847 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + i32.load offset=12 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 848 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7200 + i32.store offset=8 + local.get $0 + i32.const 7200 + i32.const 0 + call $~lib/array/Array#reduceRight + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 850 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7232 i32.store offset=8 local.get $0 - i32.const 7040 + i32.const 7232 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -19504,7 +16350,7 @@ if i32.const 0 i32.const 1552 - i32.const 829 + i32.const 863 i32.const 3 call $~lib/builtins/abort unreachable @@ -19513,21 +16359,12 @@ global.get $std/array/arr local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7072 - i32.store offset=8 local.get $0 - i32.const 7072 - i32.const 4 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne + i32.load offset=12 if i32.const 0 i32.const 1552 - i32.const 833 + i32.const 864 i32.const 3 call $~lib/builtins/abort unreachable @@ -19536,1067 +16373,1352 @@ global.get $std/array/arr local.tee $0 i32.store + local.get $0 + i32.const 0 + call $~lib/array/Array#push + drop global.get $~lib/memory/__stack_pointer - i32.const 7104 - i32.store offset=8 + global.get $std/array/arr + local.tee $0 + i32.store local.get $0 - i32.const 7104 + i32.const 1 + call $~lib/array/Array#push + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + i32.const 2 + call $~lib/array/Array#push + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store + local.get $0 + i32.const 3 + call $~lib/array/Array#push + drop + call $~lib/bindings/Math/random + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 7504 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=20 i32.const 0 - call $~lib/array/Array#reduceRight + global.set $~argumentsLength + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 7568 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 7568 + i32.store + end + local.get $0 + local.get $2 + call $~lib/array/Array#sort + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 7600 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + block $__inlined_func$std/array/isArraysEqual (result i32) + i32.const 0 + local.set $2 + i32.const 0 + local.get $0 + i32.load offset=12 + local.tee $4 + local.get $1 + i32.load offset=12 + i32.ne + br_if $__inlined_func$std/array/isArraysEqual + drop + i32.const 1 + local.get $0 + local.get $1 + i32.eq + br_if $__inlined_func$std/array/isArraysEqual + drop + loop $for-loop|02 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f32.ne + if (result i32) + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f32.ne + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + f32.ne + br_if $__inlined_func$std/array/isArraysEqual + drop + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|02 + end + end + i32.const 1 + end i32.eqz if i32.const 0 i32.const 1552 - i32.const 836 + i32.const 953 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 8 + i32.const 3 + i32.const 10 + i32.const 7664 + call $~lib/rt/__newArray local.tee $0 + i32.store offset=24 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store + block $1of12 + block $0of13 + block $outOfRange4 + global.get $~argumentsLength + br_table $0of13 $1of12 $outOfRange4 + end + unreachable + end + i32.const 7760 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 7760 + i32.store + end + local.get $0 + local.get $2 + call $~lib/array/Array#sort global.get $~lib/memory/__stack_pointer - i32.const 7136 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8 + i32.const 3 + i32.const 10 + i32.const 7792 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=8 - local.get $0 - i32.const 7136 - i32.const 0 - call $~lib/array/Array#reduceRight + block $__inlined_func$std/array/isArraysEqual (result i32) + i32.const 0 + local.set $2 + i32.const 0 + local.get $0 + i32.load offset=12 + local.tee $4 + local.get $1 + i32.load offset=12 + i32.ne + br_if $__inlined_func$std/array/isArraysEqual + drop + i32.const 1 + local.get $0 + local.get $1 + i32.eq + br_if $__inlined_func$std/array/isArraysEqual + drop + loop $for-loop|03 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.tee $6 + local.get $6 + f64.ne + if (result i32) + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.tee $6 + local.get $6 + f64.ne + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + f64.ne + br_if $__inlined_func$std/array/isArraysEqual + drop + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|03 + end + end + i32.const 1 + end + i32.eqz if i32.const 0 i32.const 1552 - i32.const 839 + i32.const 957 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 7888 + call $~lib/rt/__newArray local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7168 - i32.store offset=8 - local.get $0 - i32.const 7168 + i32.store offset=12 i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 847 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.set $~argumentsLength + i32.const 0 + local.set $2 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $0 - i32.load offset=12 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 848 - i32.const 3 - call $~lib/builtins/abort - unreachable + block $1of15 + block $0of16 + block $outOfRange7 + global.get $~argumentsLength + br_table $0of16 $1of15 $outOfRange7 + end + unreachable + end + i32.const 7936 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 7936 + i32.store end + local.get $0 + local.get $2 + call $~lib/array/Array#sort + drop global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 7968 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7200 + local.get $1 i32.store offset=8 local.get $0 - i32.const 7200 + local.get $1 i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 850 + i32.const 961 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 5 + i32.const 2 + i32.const 7 + i32.const 8016 + call $~lib/rt/__newArray local.tee $0 - i32.store + i32.store offset=16 + i32.const 0 + global.set $~argumentsLength local.get $0 - call $~lib/array/Array#pop + i32.const 0 + call $~lib/array/Array#sort@varargs drop + i32.const 5 + i32.const 2 + i32.const 7 + i32.const 8096 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7232 + local.get $1 i32.store offset=8 local.get $0 - i32.const 7232 - i32.const 0 - call $~lib/array/Array#reduceRight - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 863 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 - i32.load offset=12 + local.get $1 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 864 + i32.const 965 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 i32.const 0 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 - i32.const 1 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 i32.const 2 - call $~lib/array/Array#push - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store - local.get $0 i32.const 3 - call $~lib/array/Array#push - drop - call $~lib/bindings/Math/random - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + i32.const 8144 + call $~lib/rt/__newArray + local.tee $10 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1 i32.const 2 - i32.const 9 - i32.const 7504 + i32.const 3 + i32.const 8176 call $~lib/rt/__newArray local.tee $1 - i32.store offset=24 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $0 + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 8208 + call $~lib/rt/__newArray + local.tee $2 + i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 2 + i32.const 3 + i32.const 8240 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=40 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 7568 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 7568 - i32.store - end - local.get $1 - local.get $0 - call $~lib/array/Array#sort + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 8288 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 64 + call $std/array/createReverseOrderedArray + local.tee $4 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer + i32.const 128 + call $std/array/createReverseOrderedArray + local.tee $7 + i32.store offset=48 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + call $std/array/createReverseOrderedArray + local.tee $8 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 10000 + call $std/array/createReverseOrderedArray + local.tee $9 + i32.store offset=56 global.get $~lib/memory/__stack_pointer + i32.const 512 + call $std/array/createRandomOrderedArray + local.tee $11 + i32.store offset=60 + local.get $10 + call $std/array/assertSortedDefault local.get $1 - i32.store - i32.const 8 + call $std/array/assertSortedDefault + i32.const 1 i32.const 2 - i32.const 9 - i32.const 7600 + i32.const 3 + i32.const 8368 call $~lib/rt/__newArray - local.set $0 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $10 i32.store offset=8 local.get $1 - local.get $0 - call $std/array/isArraysEqual + local.get $10 + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 953 + i32.const 985 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + call $std/array/assertSortedDefault + i32.const 2 + i32.const 2 i32.const 3 - i32.const 10 - i32.const 7664 + i32.const 8400 call $~lib/rt/__newArray - local.tee $1 - i32.store offset=28 + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store + i32.store offset=8 + local.get $2 + local.get $1 i32.const 0 - global.set $~argumentsLength + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 988 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + call $std/array/assertSortedDefault + local.get $3 + local.get $0 i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 991 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $std/array/assertSortedDefault + local.get $4 + local.get $0 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of12 - block $0of13 - block $outOfRange4 - global.get $~argumentsLength - br_table $0of13 $1of12 $outOfRange4 - end - unreachable - end - i32.const 7760 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 7760 - i32.store + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 994 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 + local.get $7 + call $std/array/assertSortedDefault + local.get $7 local.get $0 - call $~lib/array/Array#sort - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - i32.const 8 - i32.const 3 - i32.const 10 - i32.const 7792 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 997 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $8 + call $std/array/assertSortedDefault + local.get $8 local.get $0 - i32.store offset=8 - local.get $1 + i32.const 4 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1000 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $std/array/assertSortedDefault + local.get $9 local.get $0 - call $std/array/isArraysEqual + i32.const 4 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 957 + i32.const 1003 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $11 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 7888 - call $~lib/rt/__newArray + i32.const 64 + call $std/array/createRandomOrderedArray + local.tee $0 + i32.store offset=60 + global.get $~lib/memory/__stack_pointer + i32.const 257 + call $std/array/createRandomOrderedArray local.tee $1 - i32.store offset=12 + i32.store offset=56 + global.get $~lib/memory/__stack_pointer + i32.const 8432 + i32.store offset=8 + local.get $0 + i32.const 8432 + call $std/array/assertSorted + global.get $~lib/memory/__stack_pointer + i32.const 8464 + i32.store offset=8 + local.get $0 + i32.const 8464 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer + i32.const 8496 + i32.store offset=8 local.get $1 - i32.store - i32.const 0 - global.set $~argumentsLength + i32.const 8496 + call $std/array/assertSorted + global.get $~lib/memory/__stack_pointer + i32.const 8528 + i32.store offset=8 + local.get $1 + i32.const 8528 + call $std/array/assertSorted + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of15 - block $0of16 - block $outOfRange7 - global.get $~argumentsLength - br_table $0of16 $1of15 $outOfRange7 - end - unreachable - end - i32.const 7936 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 7936 - i32.store - end - local.get $1 - local.get $0 - call $~lib/array/Array#sort - drop + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 7968 - call $~lib/rt/__newArray - local.set $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store local.get $0 - i32.store offset=8 - local.get $1 + i32.const 0 + call $~lib/array/Array#set:buffer local.get $0 i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 961 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 7 - i32.const 8016 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store offset=4 local.get $0 - i32.store i32.const 0 - global.set $~argumentsLength + i32.store offset=8 local.get $0 i32.const 0 - call $~lib/array/Array#sort@varargs - drop + i32.store offset=12 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 8 + call $~lib/memory/memory.fill + local.get $0 + local.get $2 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + i32.const 8 + i32.store offset=8 local.get $0 - i32.store - i32.const 5 i32.const 2 - i32.const 7 - i32.const 8096 - call $~lib/rt/__newArray - local.set $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 965 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store + loop $for-loop|062 + local.get $1 + i32.const 2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/array/Array#constructor + local.tee $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 1 + local.get $1 + i32.sub + call $~lib/array/Array#__set + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|062 + end end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 8144 - call $~lib/rt/__newArray - local.tee $8 - i32.store offset=4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 3 - i32.const 8176 - call $~lib/rt/__newArray - local.tee $1 - i32.store offset=36 + i32.const 8560 + i32.store offset=8 + local.get $0 + i32.const 8560 + call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 8208 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=40 + call $std/array/createReverseOrderedElementsArray + local.tee $0 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 3 - i32.const 8240 - call $~lib/rt/__newArray - local.tee $2 - i32.store offset=44 + i32.const 8592 + i32.store offset=8 + local.get $0 + i32.const 8592 + call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 7 i32.const 2 - i32.const 3 - i32.const 8288 + i32.const 27 + i32.const 8784 call $~lib/rt/__newArray local.tee $0 - i32.store offset=48 - global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createReverseOrderedArray - local.tee $4 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - i32.const 128 - call $std/array/createReverseOrderedArray - local.tee $5 - i32.store offset=52 - global.get $~lib/memory/__stack_pointer - i32.const 1024 - call $std/array/createReverseOrderedArray - local.tee $6 - i32.store offset=56 - global.get $~lib/memory/__stack_pointer - i32.const 10000 - call $std/array/createReverseOrderedArray - local.tee $7 i32.store offset=60 global.get $~lib/memory/__stack_pointer - i32.const 512 - call $std/array/createRandomOrderedArray - local.tee $11 - i32.store offset=64 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $std/array/assertSortedDefault - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $std/array/assertSortedDefault - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - i32.const 1 + i32.const 7 i32.const 2 - i32.const 3 - i32.const 8368 + i32.const 27 + i32.const 8832 call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual + local.tee $1 + i32.store offset=52 + i32.const 1 + global.set $~argumentsLength + local.get $0 + call $std/array/assertSorted<~lib/string/String|null>@varargs + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> (result i32) + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $folding-inner1 + block $folding-inner0 + local.get $0 + i32.load offset=12 + local.tee $7 + local.get $1 + i32.load offset=12 + i32.ne + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.eq + br_if $folding-inner1 + loop $for-loop|04 + local.get $2 + local.get $7 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $3 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|04 + end + end + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end i32.eqz if i32.const 0 i32.const 1552 - i32.const 985 + i32.const 1040 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $std/array/assertSortedDefault + i32.const 0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 8400 - call $~lib/rt/__newArray - local.set $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $3 - local.get $1 i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 988 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 400 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $0 + i32.store + loop $for-loop|063 + local.get $2 + i32.const 400 + i32.lt_s + if + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_f64_s + call $std/array/createRandomString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $2 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|063 + end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $std/array/assertSortedDefault + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=56 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $2 - local.get $0 i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 991 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store + block $1of18 + block $0of19 + block $outOfRange10 + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of19 $1of18 $outOfRange10 + end + unreachable + end + i32.const 8944 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8944 + i32.store end + local.get $0 + local.get $2 + call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $std/array/assertSortedDefault + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + i32.const 0 + i32.const 31 + i32.const 8976 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store + local.get $0 + i32.store offset=64 global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store offset=68 local.get $0 - i32.store offset=8 - local.get $4 + i32.load offset=4 local.get $0 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 994 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $std/array/assertSortedDefault + i32.load offset=12 + call $~lib/util/string/joinBooleanArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 9104 i32.store offset=8 - local.get $5 local.get $0 - i32.const 4 - call $std/array/isArraysEqual + i32.const 9104 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 997 + i32.const 1049 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 9152 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $std/array/assertSortedDefault - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store + local.get $0 + i32.store offset=64 global.get $~lib/memory/__stack_pointer + i32.const 8752 + i32.store offset=68 local.get $0 - i32.store offset=8 - local.get $6 + i32.load offset=4 local.get $0 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1000 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $std/array/assertSortedDefault + i32.load offset=12 + i32.const 8752 + call $~lib/util/string/joinIntegerArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 9504 i32.store offset=8 - local.get $7 local.get $0 - i32.const 4 - call $std/array/isArraysEqual + i32.const 9504 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1003 + i32.const 1050 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 3 + i32.const 2 + i32.const 7 + i32.const 9536 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $std/array/assertSortedDefault - global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createRandomOrderedArray - local.tee $0 + local.get $0 i32.store offset=64 global.get $~lib/memory/__stack_pointer - i32.const 257 - call $std/array/createRandomOrderedArray - local.tee $1 - i32.store offset=60 + i32.const 9568 + i32.store offset=68 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 + i32.const 9568 + call $~lib/util/string/joinIntegerArray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8432 + i32.const 9504 i32.store offset=8 local.get $0 - i32.const 8432 - call $std/array/assertSorted + i32.const 9504 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1051 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 9600 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + i32.store offset=64 global.get $~lib/memory/__stack_pointer - i32.const 8464 - i32.store offset=8 + i32.const 9632 + i32.store offset=68 local.get $0 - i32.const 8464 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8496 - i32.store offset=8 - local.get $1 - i32.const 8496 - call $std/array/assertSorted + i32.load offset=4 + local.get $0 + i32.load offset=12 + i32.const 9632 + call $~lib/util/string/joinIntegerArray + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8528 + i32.const 9664 i32.store offset=8 - local.get $1 - i32.const 8528 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - call $std/array/createReverseOrderedNestedArray - local.tee $0 - i32.store offset=60 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + i32.const 9664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1052 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + i32.const 3 + i32.const 10 + i32.const 9744 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8560 - i32.store offset=8 local.get $0 - i32.const 8560 - call $std/array/assertSorted<~lib/array/Array> + i32.store offset=64 global.get $~lib/memory/__stack_pointer - call $std/array/createReverseOrderedElementsArray - local.tee $0 - i32.store offset=60 + i32.const 9824 + i32.store offset=68 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 + call $~lib/util/string/joinFloatArray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8592 + i32.const 10992 i32.store offset=8 local.get $0 - i32.const 8592 - call $std/array/assertSorted<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - i32.const 7 - i32.const 2 - i32.const 27 - i32.const 8784 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=64 - global.get $~lib/memory/__stack_pointer - i32.const 7 + i32.const 10992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1053 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 2 i32.const 27 - i32.const 8832 + i32.const 11136 call $~lib/rt/__newArray - local.tee $4 - i32.store offset=56 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - i32.const 1 - global.set $~argumentsLength - i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of18 - block $0of19 - block $outOfRange10 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of19 $1of18 $outOfRange10 - end - unreachable - end - i32.const 8880 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8880 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $0 + i32.store offset=64 global.get $~lib/memory/__stack_pointer + i32.const 8752 + i32.store offset=68 local.get $0 - i32.store offset=12 - local.get $3 + i32.load offset=4 local.get $0 - call $~lib/array/Array<~lib/array/Array>#sort - local.set $1 + i32.load offset=12 + i32.const 8752 + call $~lib/util/string/joinReferenceArray<~lib/string/String|null> + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer + i32.const 11104 + i32.store offset=8 local.get $0 - i32.store offset=4 - block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=12 - local.set $7 - loop $for-loop|00 - local.get $2 - local.get $7 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $0 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/string/String|null> - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end + i32.const 11104 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 942 + i32.const 1054 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 3 + i32.const 2 + i32.const 11 + i32.const 0 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 + i32.load offset=4 + i32.store offset=52 + local.get $0 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__uset + local.get $0 + i32.const 1 + i32.const 0 + call $~lib/array/Array#__uset + local.get $0 + i32.const 2 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__uset + local.get $0 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store offset=68 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 + call $~lib/util/string/joinReferenceArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 11232 i32.store offset=8 - local.get $3 - local.get $4 - call $std/array/isArraysEqual<~lib/string/String|null> + local.get $0 + i32.const 11232 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1040 + i32.const 1056 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 8 i32.const 0 - local.set $0 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.load offset=4 + i32.store offset=60 + local.get $0 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__uset + local.get $0 + i32.const 1 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__uset + local.get $0 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 9072 + i32.store offset=68 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 + call $~lib/util/string/joinReferenceArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11328 i32.store offset=8 + local.get $0 + i32.const 11328 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1059 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 400 - call $~lib/array/Array<~lib/string/String>#constructor + i32.const 2 + i32.const 3 + i32.const 11424 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 11456 + call $~lib/rt/__newArray local.tee $1 + i32.store offset=56 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 11488 + call $~lib/rt/__newArray + local.tee $2 + i32.store offset=48 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 3 + i32.const 11520 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=28 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store - loop $for-loop|053 - local.get $0 - i32.const 400 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_f64_s - call $std/array/createRandomString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $1 - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/array/Array>#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|053 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 8752 + i32.store offset=8 + local.get $0 + i32.const 8752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1069 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=60 + call $~lib/array/Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - i32.const 1 - global.set $~argumentsLength - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 11104 + i32.store offset=8 + local.get $0 + i32.const 11104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1070 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/array/Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store - block $1of111 - block $0of112 - block $outOfRange13 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of112 $1of111 $outOfRange13 - end - unreachable - end - i32.const 8944 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8944 - i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store offset=8 + local.get $0 + i32.const 11568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1071 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 + local.get $3 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11600 + i32.store offset=8 local.get $0 - call $std/array/assertSorted<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 2 + i32.const 11600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1072 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - i32.const 31 - i32.const 8976 + i32.const 32 + i32.const 11648 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=68 + i32.store offset=64 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20605,14 +17727,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store local.get $0 i32.load offset=4 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinBooleanArray + call $~lib/util/string/joinIntegerArray local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20622,134 +17744,125 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9104 + i32.const 11680 i32.store offset=8 local.get $0 - i32.const 9104 + i32.const 11680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1049 + i32.const 1074 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 3 - i32.const 2 - i32.const 3 - i32.const 9152 + i32.const 1 + i32.const 33 + i32.const 11712 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 + i32.store offset=64 global.get $~lib/memory/__stack_pointer - i32.const 8752 - i32.store offset=68 - local.get $0 - i32.const 8752 - call $~lib/array/Array#join - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9504 - i32.store offset=8 - local.get $0 - i32.const 9504 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1050 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 7 - i32.const 9536 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 9568 - i32.store offset=68 + i32.load offset=4 local.get $0 - i32.const 9568 - call $~lib/array/Array#join + i32.load offset=12 + call $~lib/util/string/joinIntegerArray local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9504 + i32.const 11744 i32.store offset=8 local.get $0 - i32.const 9504 + i32.const 11744 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1051 + i32.const 1075 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 2 i32.const 3 - i32.const 9600 + i32.const 3 + i32.const 34 + i32.const 11792 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 + i32.store offset=64 global.get $~lib/memory/__stack_pointer - i32.const 9632 - i32.store offset=68 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store local.get $0 - i32.const 9632 - call $~lib/array/Array#join + i32.load offset=4 + local.get $0 + i32.load offset=12 + call $~lib/util/string/joinIntegerArray local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9664 + i32.const 11840 i32.store offset=8 local.get $0 - i32.const 9664 + i32.const 11840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1052 + i32.const 1076 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 6 + i32.const 4 i32.const 3 - i32.const 10 - i32.const 9744 + i32.const 35 + i32.const 11920 call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 9824 - i32.store offset=68 + i32.store offset=64 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20758,14 +17871,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9072 + i32.store local.get $0 i32.load offset=4 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9824 - i32.store - call $~lib/util/string/joinFloatArray + call $~lib/util/string/joinIntegerArray local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20775,106 +17888,145 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 10992 + i32.const 11984 i32.store offset=8 local.get $0 - i32.const 10992 + i32.const 11984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1053 + i32.const 1077 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 7 i32.const 2 i32.const 27 - i32.const 11136 + i32.const 12096 call $~lib/rt/__newArray + local.tee $0 + i32.store offset=44 + local.get $0 + call $~lib/array/Array<~lib/string/String|null>#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8752 - i32.store offset=68 + i32.const 12144 + i32.store offset=8 local.get $0 - i32.const 8752 - call $~lib/array/Array<~lib/string/String|null>#join + i32.const 12144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1081 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 2 + i32.const 27 + i32.const 12256 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=64 + local.get $0 + call $~lib/array/Array<~lib/string/String|null>#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 11104 + i32.const 12304 i32.store offset=8 local.get $0 - i32.const 11104 + i32.const 12304 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1054 + i32.const 1082 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3 i32.const 2 - i32.const 11 + i32.const 2 + i32.const 22 i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=60 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=56 + i32.store offset=60 local.get $0 i32.const 0 - i32.const 0 - call $std/array/Ref#constructor + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 12336 + call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 i32.const 1 - i32.const 0 - call $~lib/array/Array#__uset - local.get $0 i32.const 2 - i32.const 0 - call $std/array/Ref#constructor + i32.const 2 + i32.const 3 + i32.const 12368 + call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 - i32.store offset=56 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9072 - i32.store offset=68 + i32.store + local.get $0 + i32.load offset=4 local.get $0 - call $~lib/array/Array#join + i32.load offset=12 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 11232 + i32.const 12400 i32.store offset=8 local.get $0 - i32.const 11232 + i32.const 12400 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1056 + i32.const 1085 i32.const 3 call $~lib/builtins/abort unreachable @@ -20883,117 +18035,133 @@ global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 - i32.const 8 + i32.const 36 i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=60 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=64 + i32.store offset=36 local.get $0 i32.const 0 + i32.const 2 i32.const 0 - call $std/array/Ref#constructor + i32.const 6 + i32.const 12448 + call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 i32.const 1 + i32.const 2 i32.const 0 - call $std/array/Ref#constructor + i32.const 6 + i32.const 12480 + call $~lib/rt/__newArray call $~lib/array/Array#__uset local.get $0 - i32.store offset=64 + i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9072 - i32.store offset=68 + i32.store + local.get $0 + i32.load offset=4 local.get $0 - call $~lib/array/Array#join + i32.load offset=12 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 11328 + i32.const 12400 i32.store offset=8 local.get $0 - i32.const 11328 + i32.const 12400 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1059 + i32.const 1088 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 1 i32.const 2 - i32.const 3 - i32.const 11424 + i32.const 38 + i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store offset=56 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + i32.store offset=32 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 - i32.const 3 - i32.const 11456 + i32.const 37 + i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store offset=60 - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 11488 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=52 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.load offset=4 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.const 1 i32.const 2 - i32.const 3 - i32.const 11520 + i32.const 7 + i32.const 12512 call $~lib/rt/__newArray - local.tee $2 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer + call $~lib/array/Array#__uset local.get $0 - i32.store offset=20 + i32.const 0 + local.get $1 + call $~lib/array/Array#__uset local.get $0 - call $~lib/array/Array#toString - local.set $0 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8752 - i32.store offset=8 + i32.const 9072 + i32.store local.get $0 - i32.const 8752 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1069 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $1 - call $~lib/array/Array#toString + i32.load offset=4 + local.get $0 + i32.load offset=12 + call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer @@ -21006,280 +18174,307 @@ if i32.const 0 i32.const 1552 - i32.const 1070 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $3 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store offset=8 - local.get $0 - i32.const 11568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1071 + i32.const 1091 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $2 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store global.get $~lib/memory/__stack_pointer - i32.const 11600 - i32.store offset=8 - local.get $0 - i32.const 11600 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1072 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 + i32.const 4 + i32.const 2 + i32.const 22 i32.const 0 - i32.const 32 - i32.const 11648 call $~lib/rt/__newArray - local.set $0 + local.tee $0 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.load offset=4 + i32.store offset=36 local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 12544 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset local.get $0 - i32.load offset=4 + i32.const 1 + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 12576 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset local.get $0 - i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinIntegerArray - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 12608 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 11680 - i32.store offset=8 + i32.const 3 + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 12640 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset + local.get $0 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 11680 - call $~lib/string/String.__eq - i32.eqz + call $~lib/array/Array<~lib/array/Array>#flat + local.tee $0 + i32.store offset=32 + local.get $0 + i32.load offset=12 + i32.const 10 + i32.ne if i32.const 0 i32.const 1552 - i32.const 1074 + i32.const 1098 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 1 - i32.const 33 - i32.const 11712 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 10 + i32.lt_s + if + local.get $0 + local.get $1 + call $~lib/array/Array#__get + local.get $1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1100 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 39 i32.const 0 - i32.store + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=60 + global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 + i32.store offset=44 local.get $0 - i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinIntegerArray - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 27 + i32.const 12704 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset + local.get $0 + i32.const 1 + i32.const 3 + i32.const 2 + i32.const 27 + i32.const 12800 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset + local.get $0 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 27 + i32.const 12928 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset + local.get $0 + i32.const 3 + i32.const 1 + i32.const 2 + i32.const 27 + i32.const 12992 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset + local.get $0 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat + local.tee $0 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - i32.const 11744 - i32.store offset=8 + i32.const 8 + i32.const 2 + i32.const 27 + i32.const 13024 + call $~lib/rt/__newArray + local.tee $2 + i32.store offset=48 local.get $0 - i32.const 11744 - call $~lib/string/String.__eq - i32.eqz + i32.load offset=12 + i32.const 8 + i32.ne if i32.const 0 i32.const 1552 - i32.const 1075 + i32.const 1106 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 3 - i32.const 34 - i32.const 11792 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 + i32.const 0 + local.set $1 + loop $for-loop|2 + local.get $1 + local.get $2 + i32.load offset=12 + i32.lt_s + if + local.get $0 + local.get $1 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $2 + local.get $1 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $3 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1108 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 + end + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 2 + i32.const 2 + i32.const 22 + i32.const 0 + call $~lib/rt/__newArray + local.tee $0 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + i32.load offset=4 + i32.store offset=56 + local.get $0 i32.const 0 - i32.store + i32.const 0 + i32.const 2 + i32.const 3 + i32.const 13088 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset local.get $0 - i32.load offset=4 + i32.const 1 + i32.const 0 + i32.const 2 + i32.const 3 + i32.const 13120 + call $~lib/rt/__newArray + call $~lib/array/Array#__uset local.get $0 - i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinIntegerArray + i32.store offset=56 + local.get $0 + call $~lib/array/Array<~lib/array/Array>#flat local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 11840 - i32.store offset=8 local.get $0 - i32.const 11840 - call $~lib/string/String.__eq - i32.eqz + i32.load offset=12 if i32.const 0 i32.const 1552 - i32.const 1076 + i32.const 1112 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 4 - i32.const 3 - i32.const 35 - i32.const 11920 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub + i32.const 0 + global.set $std/array/arr + i32.const 30004 global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|070 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|070 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 + i32.const 72 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21288,151 +18483,178 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=4 + local.get $2 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinIntegerArray + local.tee $3 + i32.ge_s + i32.const 1 + local.get $3 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + return + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $4 + i32.store + local.get $4 + local.get $1 + call $~lib/string/String.__eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 + end + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const -1 + ) + (func $~lib/array/Array#constructor (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 - i32.add + i32.sub global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 11984 - i32.store offset=8 - local.get $0 - i32.const 11984 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1077 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7 - i32.const 2 - i32.const 27 - i32.const 12096 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - local.get $0 - call $~lib/array/Array<~lib/string/String|null>#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12144 - i32.store offset=8 - local.get $0 - i32.const 12144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1081 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 27 - i32.const 12256 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - local.get $0 - call $~lib/array/Array<~lib/string/String|null>#toString - local.set $0 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 16 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12304 + local.get $1 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 local.get $0 - i32.const 12304 - call $~lib/string/String.__eq - i32.eqz + i32.const 268435455 + i32.gt_u if - i32.const 0 - i32.const 1552 - i32.const 1082 - i32.const 3 + i32.const 1056 + i32.const 1104 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 22 - i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - i32.store offset=64 - local.get $0 - i32.const 0 - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 12336 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset local.get $0 - i32.const 1 - i32.const 2 i32.const 2 - i32.const 3 - i32.const 12368 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=64 - global.get $~lib/memory/__stack_pointer + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + local.get $2 + call $~lib/array/Array#set:buffer + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + local.get $1 local.get $0 - i32.store offset=20 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/array/Ref#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21441,188 +18663,443 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=4 - local.get $0 - i32.load offset=12 global.get $~lib/memory/__stack_pointer - i32.const 9072 + local.get $0 + local.get $1 + i32.shl + local.tee $4 + local.set $5 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.set $1 + local.get $3 + if + local.get $1 + local.get $3 + local.get $5 + call $~lib/memory/memory.copy + end + local.get $1 + local.tee $3 i32.store - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $0 + i32.const 16 + local.get $2 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 + local.get $4 + i32.store offset=8 + local.get $1 + local.get $0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/array/internalCapacity (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + i32.const 4 + i32.sub global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 + i32.load + local.tee $0 i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_s global.get $~lib/memory/__stack_pointer - i32.const 12400 - i32.store offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.const 12400 - call $~lib/string/String.__eq - i32.eqz + i32.load offset=12 + local.tee $3 + local.get $1 + i32.load offset=12 + i32.const 0 + local.get $1 + select + local.tee $4 + i32.add + local.tee $2 + i32.const 268435455 + i32.gt_u if - i32.const 0 - i32.const 1552 - i32.const 1085 - i32.const 3 + i32.const 1056 + i32.const 1104 + i32.const 222 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2 + local.get $2 i32.const 2 - i32.const 36 + i32.const 3 i32.const 0 call $~lib/rt/__newArray + local.tee $2 + i32.store + local.get $2 + i32.load offset=4 + local.tee $5 + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl local.tee $0 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer + call $~lib/memory/memory.copy local.get $0 + local.get $5 + i32.add + local.get $1 i32.load offset=4 - i32.store offset=40 + local.get $4 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 + i32.load offset=12 + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + end + local.get $1 + i32.sub + local.tee $2 + i32.const 0 + local.get $2 i32.const 0 + i32.gt_s + select + local.tee $3 i32.const 2 + i32.const 3 i32.const 0 - i32.const 6 - i32.const 12448 call $~lib/rt/__newArray - call $~lib/array/Array#__uset + local.tee $2 + i32.store + local.get $2 + i32.load offset=4 local.get $0 - i32.const 1 + i32.load offset=4 + local.get $1 i32.const 2 - i32.const 0 - i32.const 6 - i32.const 12480 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=40 + i32.shl + i32.add + local.get $3 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.tee $1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + local.get $4 + i32.lt_s + select + local.tee $2 + i32.const 0 + local.get $2 i32.const 0 + i32.gt_s + select + local.tee $2 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 i32.store + local.get $4 + i32.load offset=4 local.get $0 i32.load offset=4 + local.tee $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $6 + local.get $2 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.ne + if + local.get $6 + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $1 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + end local.get $0 - i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $0 + local.get $3 + local.get $2 + i32.sub + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + i32.const 4 + i32.sub global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 12400 - i32.store offset=8 + i32.const 2 local.get $0 - i32.const 12400 - call $~lib/string/String.__eq - i32.eqz - if + i32.load offset=12 + local.tee $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 i32.const 0 - i32.const 1552 - i32.const 1088 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1 + local.tee $1 + i32.sub + local.tee $2 + local.get $2 i32.const 2 - i32.const 38 + i32.gt_s + select + local.tee $2 i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 1 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 i32.const 2 - i32.const 37 + i32.const 8 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.tee $4 + i32.store + local.get $4 i32.load offset=4 - i32.store offset=16 + local.get $0 + i32.load offset=4 + local.tee $5 local.get $1 - i32.const 0 - i32.const 1 i32.const 2 - i32.const 7 - i32.const 12512 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 0 + i32.shl + i32.add + local.tee $6 + local.get $2 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 local.get $1 - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.add + local.tee $1 + i32.ne + if + local.get $6 + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $1 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + end local.get $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + local.get $2 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21631,468 +19108,435 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=4 + local.get $1 local.get $0 i32.load offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9072 - i32.store - call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 11104 - i32.store offset=8 local.get $0 - i32.const 11104 - call $~lib/string/String.__eq i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 1091 - i32.const 3 + i32.const 5696 + i32.const 1104 + i32.const 96 + i32.const 40 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#splice (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 2 - i32.const 22 - i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=36 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 local.get $0 - i32.load offset=4 - i32.store offset=40 - local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 i32.const 0 + i32.gt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 1 - i32.const 2 - i32.const 3 - i32.const 12544 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 + local.get $3 + local.get $2 + i32.sub + local.tee $1 + local.get $1 i32.const 1 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 12576 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 12608 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 3 - i32.const 3 + i32.gt_s + select + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $1 i32.const 2 - i32.const 3 - i32.const 12640 + i32.const 11 + i32.const 0 call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $4 i32.store - global.get $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 local.get $0 - call $~lib/array/Array<~lib/array/Array>#flat - local.tee $1 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer + i32.load offset=4 + local.tee $5 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $6 local.get $1 - i32.store + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 local.get $1 - i32.load offset=12 - i32.const 10 + local.get $2 + i32.add + local.tee $2 i32.ne if - i32.const 0 - i32.const 1552 - i32.const 1098 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - i32.const 10 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/array/Array#__get - local.get $0 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1100 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end + local.get $6 + local.get $5 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy end + local.get $0 + local.get $3 + local.get $1 + i32.sub + i32.store offset=12 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 2 - i32.const 39 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=64 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 - i32.store offset=48 - local.get $0 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 27 - i32.const 12704 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 1 - i32.const 3 - i32.const 2 - i32.const 27 - i32.const 12800 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 27 - i32.const 12928 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 3 - i32.const 1 + local.get $1 i32.const 2 - i32.const 27 - i32.const 12992 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=48 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.shl + i32.add + i32.load + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat - local.tee $0 - i32.store offset=64 + ) + (func $~lib/array/Array#map (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 2 - i32.const 27 - i32.const 13024 - call $~lib/rt/__newArray - local.tee $3 - i32.store offset=52 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=12 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.tee $5 + i32.const 2 + i32.const 3 i32.const 0 - local.set $1 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $1 - local.get $3 + call $~lib/rt/__newArray + local.tee $3 + i32.store + local.get $3 + i32.load offset=4 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $5 + local.get $0 i32.load offset=12 + local.tee $4 + local.get $4 + local.get $5 + i32.gt_s + select i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 + i32.const 2 + i32.shl + local.tee $4 + local.get $0 + i32.load offset=4 + i32.add + i32.load + local.set $6 + i32.const 3 + global.set $~argumentsLength local.get $3 - local.get $1 - call $~lib/array/Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.add + local.get $6 local.get $2 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1108 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $0 local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|2 + local.set $2 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 22 i32.const 0 - call $~lib/rt/__newArray - local.tee $0 - i32.store offset=32 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - i32.store offset=60 - local.get $0 - i32.const 0 i32.const 0 i32.const 2 i32.const 3 - i32.const 13088 - call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.const 1 i32.const 0 - i32.const 2 - i32.const 3 - i32.const 13120 call $~lib/rt/__newArray - call $~lib/array/Array#__uset - local.get $0 - i32.store offset=60 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - call $~lib/array/Array<~lib/array/Array>#flat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $4 i32.store local.get $0 i32.load offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 1112 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/arr - i32.const 30004 - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|058 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|058 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $5 + i32.gt_s + select + i32.lt_s if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $3 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $4 + local.get $3 + call $~lib/array/Array#push + drop + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 72 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $std/array/ArrayU32#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 8064 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 40 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 8064 i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $1 + call $~lib/array/Array#sort global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/array/createReverseOrderedArray (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 i32.const 0 - i32.store offset=8 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array#constructor + local.tee $2 + i32.store + loop $for-loop|0 + local.get $0 + local.get $1 + i32.gt_s + if + local.get $2 + local.get $1 + local.get $0 + i32.const 1 + i32.sub + local.get $1 + i32.sub + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $0 - local.get $2 - call $~lib/array/Array#set:buffer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $0 - local.get $3 - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 + ) + (func $std/array/createRandomOrderedArray (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + i32.const 4 + i32.sub global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/array/Array#constructor + local.tee $2 i32.store + loop $for-loop|0 + local.get $0 + local.get $1 + i32.gt_s + if + local.get $2 + local.get $1 + call $~lib/math/NativeMath.random + local.get $0 + f64.convert_i32_s + f64.mul + i32.trunc_f64_s + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) - (func $std/array/ArrayU8#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -22101,20 +19545,69 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.eqz - if + block $folding-inner0 + local.get $0 + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.le_s + br_if $folding-inner0 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load + local.tee $4 + i32.store offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $2 + i32.store + end + br $folding-inner0 + end + local.get $3 + local.get $2 + local.get $1 + call $~lib/util/sort/insertionSort<~lib/array/Array> global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 41 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -22128,7 +19621,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 6 + i32.const 29 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -22146,7 +19639,7 @@ i32.const 0 i32.store offset=12 local.get $1 - i32.const 1073741820 + i32.const 268435455 i32.gt_u if i32.const 1056 @@ -22158,13 +19651,16 @@ end global.get $~lib/memory/__stack_pointer local.get $1 + i32.const 2 + i32.shl + local.tee $3 i32.const 0 call $~lib/rt/itcms/__new local.tee $2 i32.store offset=4 local.get $2 i32.const 0 - local.get $1 + local.get $3 call $~lib/memory/memory.fill local.get $0 local.get $2 @@ -22173,7 +19669,7 @@ local.get $2 i32.store offset=4 local.get $0 - local.get $1 + local.get $3 i32.store offset=8 local.get $0 local.get $1 @@ -22183,420 +19679,274 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - i32.load offset=12 - local.tee $2 - i32.const 1 - i32.le_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $5 - local.get $2 - i32.const 2 - i32.eq - if - local.get $5 - i32.load8_u offset=1 - local.set $2 - local.get $5 - i32.load8_u - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $2 - local.get $3 - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $5 - local.get $3 - i32.store8 offset=1 - local.get $5 - local.get $2 - i32.store8 - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - i32.const 256 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $5 - local.get $6 - i32.add - i32.load8_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $1 - local.get $5 - i32.add - i32.load8_u - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $4 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $2 - i32.const 1 - i32.sub - local.set $1 - local.get $5 - local.get $2 - i32.const 1 - i32.add - i32.add - local.get $8 - i32.store8 - br $while-continue|1 - end - end - end - local.get $5 - local.get $1 - i32.const 1 - i32.add - i32.add - local.get $7 - i32.store8 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $5 - local.get $2 - local.get $1 - call $~lib/util/sort/weakHeapSort - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 local.get $0 - ) - (func $~lib/array/Array<~lib/string/String>#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 local.get $2 - local.get $0 - i32.load offset=12 + i32.const 0 + i32.gt_s + select local.tee $3 - i32.ge_s + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select + local.tee $1 + local.get $1 + local.get $3 + i32.lt_s + select i32.const 1 + i32.shl + local.tee $4 + local.get $3 + local.get $1 + local.get $1 local.get $3 + i32.gt_s select + i32.const 1 + i32.shl + local.tee $1 + i32.sub + local.tee $3 + i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const -1 + i32.const 8752 return end - local.get $2 i32.const 0 - i32.lt_s + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.eq + local.get $1 + select if - local.get $2 - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $4 - local.get $1 - call $~lib/string/String.__eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end + global.set $~lib/memory/__stack_pointer + local.get $0 + return end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const -1 + local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/joinBooleanArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 i32.store - local.get $0 - i32.load offset=12 - local.set $5 - loop $for-loop|0 + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 local.get $3 - local.get $5 - local.get $0 - i32.load offset=12 - local.tee $2 - local.get $2 - local.get $5 - i32.gt_s - select - i32.lt_s + i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 9008 + i32.const 9040 local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 + i32.load8_u + select + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 5 + i32.add + i32.mul + i32.const 5 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|1 local.get $3 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) + local.get $5 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.add + i32.load8_u + local.tee $8 + i32.eqz + i32.const 4 + i32.add + local.set $6 + local.get $1 local.get $2 - i32.store offset=16 - local.get $4 + i32.const 1 + i32.shl + i32.add + i32.const 9008 + i32.const 9040 + local.get $8 + select + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy local.get $2 - call $~lib/array/Array<~lib/string/String>#push - drop + local.get $6 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9072 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|1 end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 end + local.get $0 + local.get $3 + i32.add + i32.load8_u + local.tee $3 + i32.eqz + i32.const 4 + i32.add + local.set $0 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9008 + i32.const 9040 + local.get $3 + select + local.get $0 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#constructor (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - local.get $2 - call $~lib/array/Array#set:buffer - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $3 - i32.store offset=8 - local.get $1 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 ) - (func $std/array/Ref#constructor (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22605,24 +19955,60 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9376 + return + end + i32.const 0 + local.get $0 + i32.sub + local.get $0 + local.get $0 + i32.const 31 + i32.shr_u + local.tee $1 + select + local.tee $2 + call $~lib/util/number/decimalCount32 + local.get $1 + i32.add + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 + local.get $3 + i32.const 1 + i32.shl + i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $0 i32.store - local.get $1 local.get $0 - i32.store + local.get $2 + local.get $3 + call $~lib/util/number/utoa_dec_simple + local.get $1 + if + local.get $0 + i32.const 45 + i32.store16 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22631,56 +20017,180 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.shl + i32.const 1 + i32.sub local.tee $4 - local.set $5 - local.get $4 i32.const 0 - call $~lib/rt/itcms/__new - local.set $1 - local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + i32.load + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 11 + i32.add + i32.mul + i32.const 11 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $3 + i32.add + local.set $3 + local.get $5 + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $5 + i32.add + local.set $3 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 local.get $1 local.get $3 - local.get $5 - call $~lib/memory/memory.copy + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $3 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - local.get $1 - local.tee $3 - i32.store - i32.const 16 - local.get $2 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $3 - i32.store - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/number/utoa32 (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9376 + return + end + local.get $0 + call $~lib/util/number/decimalCount32 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=12 + local.get $1 + call $~lib/util/number/utoa_dec_simple global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 ) - (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22689,62 +20199,139 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $1 - i32.load offset=12 - i32.const 0 local.get $1 - select + i32.const 1 + i32.sub local.tee $4 - i32.add - local.tee $2 - i32.const 268435455 - i32.gt_u + i32.const 0 + i32.lt_s if - i32.const 1056 - i32.const 1104 - i32.const 222 - i32.const 60 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + i32.load + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $3 + i32.add + local.set $3 + local.get $5 + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $5 + i32.add + local.set $3 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $3 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store - local.get $2 - i32.load offset=4 - local.tee $5 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - local.tee $0 - call $~lib/memory/memory.copy - local.get $0 - local.get $5 - i32.add - local.get $1 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) - (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 f64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22753,87 +20340,204 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=12 - local.set $3 local.get $1 + i32.const 1 + i32.sub + local.tee $4 i32.const 0 i32.lt_s - if (result i32) - local.get $1 - local.get $3 + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + f64.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/dtoa + local.get $3 + f64.const 0 + f64.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9856 + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.ne + if + local.get $3 + local.get $3 + f64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9888 + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9920 + i32.const 9968 + local.get $3 + f64.const 0 + f64.lt + select + local.set $0 + br $__inlined_func$~lib/util/number/dtoa + end + i32.const 10000 + local.get $3 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 10000 + local.get $1 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 9820 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 i32.add + i32.mul + i32.const 28 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $5 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9824 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $5 + i32.add + local.set $2 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 local.get $1 - local.get $3 - i32.lt_s - select - end - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) local.get $2 - local.get $3 + i32.const 1 + i32.shl i32.add - local.tee $2 - i32.const 0 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered local.get $2 - i32.const 0 + i32.add + local.tee $0 i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $3 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store - local.get $2 - i32.load offset=4 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) - (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22846,98 +20550,127 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.load offset=12 - local.tee $3 local.get $1 + i32.const 1 + i32.sub + local.tee $3 i32.const 0 i32.lt_s - if (result i32) - local.get $1 - local.get $3 + if + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return end - local.tee $1 - i32.sub - local.tee $4 - local.get $2 - local.get $4 - i32.lt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store - local.get $4 - i32.load offset=4 - local.get $0 - i32.load offset=4 - local.tee $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $6 - local.get $2 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.ne - if + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i32.load8_s + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + i32.mul + i32.const 11 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9072 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end local.get $6 - local.get $5 local.get $1 - i32.const 2 + local.get $2 + i32.const 1 i32.shl i32.add + local.get $0 local.get $3 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy + return end - local.get $0 - local.get $3 - local.get $2 - i32.sub - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $0 ) - (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -22951,137 +20684,123 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $0 - i32.load offset=12 - local.tee $3 local.get $1 + i32.const 1 + i32.sub + local.tee $3 i32.const 0 i32.lt_s - if (result i32) - local.get $1 - local.get $3 + if + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 local.get $3 - local.get $1 + i32.eqz + if + local.get $0 + i32.load16_u + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer local.get $3 - i32.lt_s - select - end - local.tee $1 - i32.sub - local.tee $2 - local.get $2 - i32.const 2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store - local.get $4 - i32.load offset=4 - local.get $0 - i32.load offset=4 - local.tee $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $6 - local.get $2 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.ne - if + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9072 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end local.get $6 - local.get $5 local.get $1 - i32.const 2 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 1 i32.shl i32.add - local.get $3 + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - end - local.get $0 - local.get $3 - local.get $2 - i32.sub - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.store - local.get $0 - i32.eqz - if - i32.const 5696 - i32.const 1104 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable + return end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23089,13 +20808,13 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/array/Array#splice (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23104,230 +20823,197 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - local.get $0 - i32.load offset=12 - local.tee $3 - local.get $3 - i32.const 0 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 1 - local.get $3 - local.get $2 - i32.sub - local.tee $1 local.get $1 i32.const 1 - i32.gt_s - select - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $1 - i32.const 2 - i32.const 11 - i32.const 0 - call $~lib/rt/__newArray + i32.sub local.tee $4 - i32.store - local.get $4 - i32.load offset=4 - local.get $0 - i32.load offset=4 - local.tee $5 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $6 - local.get $1 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - local.get $2 - i32.add - local.tee $2 - i32.ne + i32.const 0 + i32.lt_s if - local.get $6 - local.get $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8752 + return + end + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + i64.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa64 + local.get $3 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 9376 + local.set $0 + br $__inlined_func$~lib/util/number/utoa64 + end + local.get $3 + i64.const 4294967295 + i64.le_u + if + local.get $3 + i32.wrap_i64 + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + else + local.get $3 + call $~lib/util/number/decimalCount64High + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + local.get $1 + call $~lib/util/number/utoa_dec_simple + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 20 + i32.add + i32.mul + i32.const 20 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $5 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9072 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $5 + i32.add + local.set $2 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 + local.get $1 local.get $2 - i32.const 2 + i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 - i32.sub - i32.const 2 + local.get $0 + local.get $4 + i32.const 3 i32.shl - call $~lib/memory/memory.copy - end - local.get $0 - local.get $3 - local.get $1 - i32.sub - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 end - i32.const 8064 - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8064 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - local.get $0 - local.get $1 - call $~lib/array/Array#sort global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String>#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $0 - local.get $2 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $3 - i32.store offset=8 - local.get $0 - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/number/itoa32 (param $0 i32) (result i32) + (func $~lib/util/number/itoa64 (param $0 i64) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23337,7 +21023,7 @@ i32.const 0 i32.store local.get $0 - i32.eqz + i64.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23346,35 +21032,61 @@ i32.const 9376 return end - i32.const 0 - local.get $0 - i32.sub - local.get $0 - local.get $0 - i32.const 31 - i32.shr_u - local.tee $1 - select - local.tee $2 - call $~lib/util/number/decimalCount32 - local.get $1 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 + i64.const 0 + local.get $0 + i64.sub + local.get $0 + local.get $0 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.tee $3 + select + local.tee $0 + i64.const 4294967295 + i64.le_u + if + local.get $0 + i32.wrap_i64 + local.tee $4 + call $~lib/util/number/decimalCount32 + local.get $3 + i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $4 + local.get $1 + call $~lib/util/number/utoa_dec_simple + else + local.get $0 + call $~lib/util/number/decimalCount64High + local.get $3 + i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + call $~lib/util/number/utoa_dec_simple + end local.get $3 - call $~lib/util/number/utoa_dec_simple - local.get $1 if - local.get $0 + local.get $2 i32.const 45 i32.store16 end @@ -23382,11 +21094,14 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) - (func $~lib/util/number/utoa32 (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23395,42 +21110,138 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.eqz + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 9376 + i32.const 8752 + return + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i64.load + i32.wrap_i64 + i64.extend_i32_s + call $~lib/util/number/itoa64 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 9068 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 21 + i32.add + i32.mul + i32.const 21 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9072 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return end - local.get $0 - call $~lib/util/number/decimalCount32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - local.get $1 - call $~lib/util/number/utoa_dec_simple global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) - (func $~lib/util/number/itoa64 (param $0 i64) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23439,79 +21250,127 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i64.eqz + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 9376 + i32.const 8752 return end - i64.const 0 - local.get $0 - i64.sub - local.get $0 - local.get $0 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.tee $3 - select - local.tee $0 - i64.const 4294967295 - i64.le_u - if - local.get $0 - i32.wrap_i64 - local.tee $4 - call $~lib/util/number/decimalCount32 - local.get $3 - i32.add - local.set $1 + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + i32.load8_u + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $3 + i32.add + local.set $3 + local.get $5 + if + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $5 + i32.add + local.set $3 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 local.get $1 + local.get $3 i32.const 1 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $4 - local.get $1 - call $~lib/util/number/utoa_dec_simple - else + i32.add local.get $0 - call $~lib/util/number/decimalCount64High + local.get $4 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered local.get $3 i32.add - local.set $1 + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - local.get $1 - call $~lib/util/number/utoa_dec_simple - end - local.get $3 - if - local.get $2 - i32.const 45 - i32.store16 + return end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/array/Array<~lib/array/Array>#flat (param $0 i32) (result i32) (local $1 i32) @@ -24428,20 +22287,9 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end local.get $0 local.get $1 - call $std/array/ArrayU32#constructor + call $std/array/ArrayU32#constructor@varargs global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -24496,14 +22344,6 @@ local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#every (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -24526,25 +22366,19 @@ i32.shl i32.add i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + local.set $3 i32.const 3 global.set $~argumentsLength + i32.const 0 + local.get $3 local.get $2 local.get $0 local.get $1 i32.load call_indirect (type $i32_i32_i32_=>_i32) i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$~lib/array/Array#every - end + br_if $__inlined_func$~lib/array/Array#every + drop local.get $2 i32.const 1 i32.add @@ -24552,10 +22386,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 1 end global.get $~lib/memory/__stack_pointer @@ -24582,14 +22412,6 @@ local.set $2 i32.const 0 local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -24613,9 +22435,6 @@ i32.shl i32.add i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 3 global.set $~argumentsLength local.get $1 @@ -24623,13 +22442,7 @@ local.get $2 i32.load call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#findIndex - end + br_if $__inlined_func$~lib/array/Array#findIndex local.get $1 i32.const 1 i32.add @@ -24637,10 +22450,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const -1 local.set $1 end @@ -24753,17 +22562,6 @@ i32.const 0 local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $2 @@ -24774,10 +22572,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $export:~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -25082,14 +22876,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -25112,9 +22898,6 @@ i32.shl i32.add i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 3 global.set $~argumentsLength local.get $2 @@ -25130,10 +22913,6 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -25155,16 +22934,13 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 @@ -25196,9 +22972,6 @@ i32.add i32.load local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -25208,9 +22981,6 @@ i32.load call_indirect (type $i32_i32_i32_=>_i32) if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 local.get $4 local.get $3 call $~lib/array/Array#push @@ -25224,7 +22994,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -25304,14 +23074,6 @@ local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#some (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -25334,24 +23096,18 @@ i32.shl i32.add i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + local.set $3 i32.const 3 global.set $~argumentsLength + i32.const 1 + local.get $3 local.get $2 local.get $0 local.get $1 i32.load call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - br $__inlined_func$~lib/array/Array#some - end + br_if $__inlined_func$~lib/array/Array#some + drop local.get $2 i32.const 1 i32.add @@ -25359,10 +23115,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 end global.get $~lib/memory/__stack_pointer @@ -25567,8 +23319,11 @@ i32.store end local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 local.get $1 - call $~lib/array/Array#join + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25619,20 +23374,9 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end local.get $0 local.get $1 - call $std/array/ArrayU8#constructor + call $std/array/ArrayU8#constructor@varargs global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -25675,14 +23419,6 @@ local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#every (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -25703,25 +23439,19 @@ i32.load offset=4 i32.add i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + local.set $3 i32.const 3 global.set $~argumentsLength + i32.const 0 + local.get $3 local.get $2 local.get $0 local.get $1 i32.load call_indirect (type $i32_i32_i32_=>_i32) i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - br $__inlined_func$~lib/array/Array#every - end + br_if $__inlined_func$~lib/array/Array#every + drop local.get $2 i32.const 1 i32.add @@ -25729,10 +23459,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 1 end global.get $~lib/memory/__stack_pointer @@ -25759,14 +23485,6 @@ local.set $2 i32.const 0 local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -25786,11 +23504,8 @@ local.get $1 local.get $0 i32.load offset=4 - i32.add - i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.add + i32.load8_u i32.const 3 global.set $~argumentsLength local.get $1 @@ -25798,13 +23513,7 @@ local.get $2 i32.load call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#findIndex - end + br_if $__inlined_func$~lib/array/Array#findIndex local.get $1 i32.const 1 i32.add @@ -25812,10 +23521,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const -1 local.set $1 end @@ -25926,17 +23631,6 @@ i32.const 0 local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $2 @@ -25947,10 +23641,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $export:~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -26248,14 +23938,6 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -26276,9 +23958,6 @@ i32.load offset=4 i32.add i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store i32.const 3 global.set $~argumentsLength local.get $2 @@ -26294,10 +23973,6 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -26319,16 +23994,13 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 @@ -26358,9 +24030,6 @@ i32.add i32.load8_u local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -26370,9 +24039,6 @@ i32.load call_indirect (type $i32_i32_i32_=>_i32) if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 local.get $4 local.get $3 call $~lib/array/Array#push @@ -26386,7 +24052,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -26462,14 +24128,6 @@ local.get $1 i32.store offset=4 block $__inlined_func$~lib/array/Array#some (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 i32.load offset=12 local.set $4 @@ -26490,24 +24148,18 @@ i32.load offset=4 i32.add i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + local.set $3 i32.const 3 global.set $~argumentsLength + i32.const 1 + local.get $3 local.get $2 local.get $0 local.get $1 i32.load call_indirect (type $i32_i32_i32_=>_i32) - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - br $__inlined_func$~lib/array/Array#some - end + br_if $__inlined_func$~lib/array/Array#some + drop local.get $2 i32.const 1 i32.add @@ -26515,10 +24167,6 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 end global.get $~lib/memory/__stack_pointer @@ -26851,8 +24499,11 @@ i32.store end local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 local.get $1 - call $~lib/array/Array#join + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -26899,13 +24550,13 @@ local.set $1 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if @@ -26918,15 +24569,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 call $~lib/array/Array<~lib/string/String>#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -26952,13 +24600,13 @@ i32.store offset=4 block $__inlined_func$~lib/array/Array<~lib/string/String>#every (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=12 local.set $4 @@ -26984,9 +24632,6 @@ i32.load local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -26998,7 +24643,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -27012,7 +24657,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -27042,13 +24687,13 @@ i32.const 0 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=12 local.set $4 @@ -27075,9 +24720,6 @@ i32.load local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -27088,7 +24730,7 @@ call_indirect (type $i32_i32_i32_=>_i32) if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/array/Array<~lib/string/String>#findIndex @@ -27101,7 +24743,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -27319,20 +24961,6 @@ i32.const 0 local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $0 local.get $1 local.get $2 @@ -27343,10 +24971,6 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $export:~lib/array/Array<~lib/string/String>#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -27410,13 +25034,13 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store block $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf local.get $0 local.tee $3 @@ -27425,7 +25049,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -27465,15 +25089,12 @@ i32.load local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $3 local.get $1 call $~lib/string/String.__eq if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer br $__inlined_func$~lib/array/Array<~lib/string/String>#lastIndexOf @@ -27486,7 +25107,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -27612,13 +25233,13 @@ local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=12 local.set $4 @@ -27644,9 +25265,6 @@ i32.load local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -27663,7 +25281,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -27672,6 +25290,10 @@ global.set $~lib/memory/__stack_pointer ) (func $export:~lib/array/Array<~lib/string/String>#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -27683,13 +25305,77 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#filter + i32.load offset=12 + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + local.get $0 + i32.load offset=12 + local.tee $3 + local.get $3 + local.get $5 + i32.gt_s + select + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $3 + i32.store offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $4 + local.get $3 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) (func $export:~lib/array/Array<~lib/string/String>#shift (param $0 i32) (result i32) (local $1 i32) @@ -27779,13 +25465,13 @@ i32.store offset=4 block $__inlined_func$~lib/array/Array<~lib/string/String>#some (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=12 local.set $4 @@ -27811,9 +25497,6 @@ i32.load local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 i32.const 3 global.set $~argumentsLength local.get $3 @@ -27824,7 +25507,7 @@ call_indirect (type $i32_i32_i32_=>_i32) if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -27838,7 +25521,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -28118,8 +25801,11 @@ i32.store end local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=12 local.get $1 - call $~lib/array/Array<~lib/string/String|null>#join + call $~lib/util/string/joinReferenceArray<~lib/string/String|null> global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/std/array.untouched.wat b/tests/compiler/std/array.untouched.wat index c07bde57b3..b24ba6456c 100644 --- a/tests/compiler/std/array.untouched.wat +++ b/tests/compiler/std/array.untouched.wat @@ -4292,6 +4292,62 @@ drop local.get $2 ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.eqz + if + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + drop + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -4412,6 +4468,62 @@ drop local.get $2 ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.eqz + if + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + drop + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 @@ -4821,6 +4933,62 @@ call $~lib/memory/memory.copy local.get $0 ) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.eqz + if + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + drop + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 1 + ) (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -5252,6 +5420,17 @@ local.get $2 call $~lib/array/Array#lastIndexOf ) + (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + drop + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s + return + ) (func $~lib/array/Array#includes (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -5459,1174 +5638,1004 @@ i32.const 0 drop ) - (func $start:std/array~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 0 - i32.eq - ) - (func $start:std/array~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 1 - i32.eq - ) - (func $start:std/array~anonymous|2 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|4 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 - i32.const 100 - i32.eq + local.get $1 + local.get $2 + call $~lib/array/Array#__uset ) - (func $start:std/array~anonymous|6 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 - i32.ge_s + i32.eq ) - (func $start:std/array~anonymous|7 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) i32.const 0 - i32.le_s - ) - (func $start:std/array~anonymous|9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 10 - i32.lt_s - ) - (func $start:std/array~anonymous|11 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 3 - i32.ge_s - ) - (func $start:std/array~anonymous|12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const -1 - i32.le_s - ) - (func $start:std/array~anonymous|14 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 10 - i32.gt_s - ) - (func $start:std/array~anonymous|16 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|18 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|21 (param $0 i32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - f32.convert_i32_s - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) - (local $2 f32) - local.get $1 + local.set $2 local.get $0 i32.load offset=12 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $2 - i32.const 0 - drop - local.get $2 + i32.const -1 ) - (func $start:std/array~anonymous|23 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i + (func $start:std/array~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const 1 + i32.eq ) - (func $start:std/array~anonymous|25 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $start:std/array~anonymous|2 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 2 - i32.ge_s + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|27 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i + (func $start:std/array~anonymous|3 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 - i32.const 2 - i32.ge_s + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|29 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|4 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|30 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - local.get $1 - i32.add + i32.const 100 + i32.eq ) - (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|6 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 2 - i32.gt_s - end + i32.const 0 + i32.ge_s ) - (func $start:std/array~anonymous|32 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 0 + local.set $2 local.get $0 - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 100 - i32.gt_s + i32.load offset=12 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end + i32.const 1 ) - (func $start:std/array~anonymous|34 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|7 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.const 0 + i32.le_s ) - (func $start:std/array~anonymous|36 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|8 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 - local.get $1 - i32.add + i32.const 10 + i32.lt_s ) - (func $start:std/array~anonymous|37 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|9 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.const 10 + i32.lt_s ) - (func $start:std/array~anonymous|38 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 2 - i32.gt_s - end + i32.const 3 + i32.lt_s ) - (func $start:std/array~anonymous|39 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $start:std/array~anonymous|11 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 100 - i32.gt_s - end + i32.const 3 + i32.ge_s ) - (func $start:std/array~anonymous|41 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 0 + local.set $2 local.get $0 - local.get $1 - i32.add + i32.load offset=12 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 ) - (func $~lib/math/murmurHash3 (param $0 i64) (result i64) - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - i64.const -49064778989728563 - i64.mul - local.set $0 - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - i64.const -4265267296055464877 - i64.mul - local.set $0 - local.get $0 - local.get $0 - i64.const 33 - i64.shr_u - i64.xor - local.set $0 + (func $start:std/array~anonymous|12 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const -1 + i32.le_s ) - (func $~lib/math/splitMix32 (param $0 i32) (result i32) - local.get $0 - i32.const 1831565813 - i32.add - local.set $0 - local.get $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - local.get $0 - i32.const 1 - i32.or - i32.mul - local.set $0 - local.get $0 - local.get $0 - local.get $0 - local.get $0 - i32.const 7 - i32.shr_u - i32.xor - local.get $0 - i32.const 61 - i32.or - i32.mul - i32.add - i32.xor - local.set $0 + (func $start:std/array~anonymous|13 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop local.get $0 + i32.const 10 + i32.gt_s + ) + (func $start:std/array~anonymous|14 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 14 - i32.shr_u - i32.xor + i32.const 10 + i32.gt_s ) - (func $~lib/math/NativeMath.seedRandom (param $0 i64) - i32.const 1 - global.set $~lib/math/random_seeded + (func $start:std/array~anonymous|15 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + call $~lib/array/Array#pop + drop local.get $0 - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state1_64 + i32.const 3 + i32.gt_s + ) + (func $start:std/array~anonymous|16 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $std/array/i local.get $0 - i32.wrap_i64 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state0_32 - global.get $~lib/math/random_state0_32 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state1_32 - global.get $~lib/math/random_state0_64 - i64.const 0 - i64.ne - if (result i32) - global.get $~lib/math/random_state1_64 - i64.const 0 - i64.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state0_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state1_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 6240 - i32.const 1399 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.add + global.set $std/array/i ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 i32) + (local $5 i32) i32.const 0 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 loop $for-loop|0 + local.get $2 local.get $3 - local.get $1 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if local.get $0 - local.get $3 + i32.load offset=4 + local.get $2 i32.const 2 i32.shl i32.add - f32.load - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $8 - local.get $5 - local.get $8 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - f32.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end + i32.load + local.get $2 local.get $0 - local.get $6 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $5 - f32.store - local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|17 (param $0 i32) (param $1 i32) (param $2 i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + ) + (func $start:std/array~anonymous|18 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + ) + (func $start:std/array~anonymous|19 (param $0 i32) (param $1 i32) (param $2 i32) + local.get $2 + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + ) + (func $start:std/array~anonymous|20 (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - (local $10 f32) - (local $11 i32) - (local $12 f32) local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.set $3 - local.get $3 - call $~lib/rt/tlsf/__alloc - local.set $4 - local.get $4 i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|0 - local.get $5 + i32.eq + if i32.const 0 - i32.gt_s - local.set $6 - local.get $6 - if - local.get $5 - local.set $7 - loop $while-continue|1 - local.get $7 + local.set $3 + loop $for-loop|0 + local.get $3 + i32.const 4 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + call $~lib/array/Array#pop + drop + local.get $3 i32.const 1 - i32.and - local.get $4 - local.get $7 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl i32.add - i32.load - local.get $7 - i32.const 1 - i32.shr_s - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.eq - local.set $8 - local.get $8 - if - local.get $7 - i32.const 1 - i32.shr_s - local.set $7 - br $while-continue|1 - end + local.set $3 + br $for-loop|0 end - local.get $7 - i32.const 1 - i32.shr_s - local.set $8 - local.get $0 - local.get $8 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $9 - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $10 - local.get $9 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 + end + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + i32.const 100 i32.lt_s + local.set $4 + local.get $4 if - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl + local.get $2 + i32.const 100 + local.get $3 i32.add - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl + call $~lib/array/Array#push + drop + local.get $3 + i32.const 1 i32.add - i32.load + local.set $3 + br $for-loop|1 + end + end + i32.const 0 + local.set $3 + loop $for-loop|2 + local.get $3 + i32.const 100 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + call $~lib/array/Array#pop + drop + local.get $3 i32.const 1 - local.get $5 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $5 - i32.const 2 - i32.shl i32.add - local.get $9 - f32.store - local.get $0 - local.get $8 - i32.const 2 - i32.shl + local.set $3 + br $for-loop|2 + end + end + i32.const 0 + local.set $3 + loop $for-loop|3 + local.get $3 + i32.const 100 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + i32.const 200 i32.add - local.get $10 - f32.store + call $~lib/array/Array#push + drop + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|3 end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|0 end end local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|2 - local.get $5 - i32.const 2 - i32.ge_s - local.set $6 - local.get $6 + i32.const 2 + i32.eq + if + local.get $0 + i32.const 202 + i32.eq + i32.eqz if - local.get $0 - f32.load - local.set $10 - local.get $0 - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - f32.store - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.get $10 - f32.store - i32.const 1 - local.set $8 - loop $while-continue|3 - local.get $8 - i32.const 1 - i32.shl - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $8 - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.add - local.tee $7 - local.get $5 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $7 - local.set $8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $8 - i32.const 0 - i32.gt_s - local.set $11 - local.get $11 - if - local.get $0 - f32.load - local.set $10 - local.get $0 - local.get $8 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $9 - local.get $10 - local.get $9 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $8 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $8 - i32.const 2 - i32.shl - i32.add - local.get $10 - f32.store - local.get $0 - local.get $9 - f32.store - end - local.get $8 - i32.const 1 - i32.shr_s - local.set $8 - br $while-continue|4 - end - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|2 + i32.const 0 + i32.const 528 + i32.const 680 + i32.const 7 + call $~lib/builtins/abort + unreachable end end - local.get $4 - call $~lib/rt/tlsf/__free + ) + (func $start:std/array~anonymous|21 (param $0 i32) (param $1 i32) (param $2 i32) (result f32) local.get $0 - f32.load offset=4 - local.set $12 + f32.convert_i32_s + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + local.get $1 local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add f32.load - f32.store offset=4 + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $start:std/array~anonymous|22 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i local.get $0 - local.get $12 - f32.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) + (func $start:std/array~anonymous|23 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + global.get $std/array/i local.get $0 - i32.reinterpret_f32 - local.set $2 - local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $2 + i32.add + global.set $std/array/i + local.get $0 + ) + (func $start:std/array~anonymous|24 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $2 - local.get $3 - local.get $3 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $3 + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + local.get $0 + ) + (func $start:std/array~anonymous|25 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|26 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 - local.get $3 - i32.gt_s + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|27 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|28 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $2 - local.get $3 - i32.lt_s - i32.sub + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $0 + i32.add + global.set $std/array/i + local.get $0 + i32.const 2 + i32.ge_s ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) + (func $start:std/array~anonymous|29 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) (local $7 i32) - (local $8 f64) - (local $9 i32) - i32.const 0 + local.get $2 local.set $3 + i32.const 0 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $5 loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 local.get $4 + local.get $5 + local.tee $6 + local.get $0 + i32.load offset=12 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + local.set $6 + local.get $6 if - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $5 - local.get $8 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $8 - f64.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end local.get $0 - local.get $6 - i32.const 1 - i32.add - i32.const 3 + i32.load offset=4 + local.get $4 + i32.const 2 i32.shl i32.add - local.get $5 - f64.store - local.get $3 + i32.load + local.get $4 + local.get $0 + i32.const 4 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|0 end end + local.get $3 ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/array~anonymous|30 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 2 + i32.gt_s + end + ) + (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 i32) - (local $12 f64) - local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl + local.get $2 local.set $3 - local.get $3 - call $~lib/rt/tlsf/__alloc - local.set $4 - local.get $4 i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - i32.const 1 - i32.sub + local.set $4 + local.get $0 + i32.load offset=12 local.set $5 loop $for-loop|0 + local.get $4 local.get $5 - i32.const 0 - i32.gt_s + local.tee $6 + local.get $0 + i32.load offset=12 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s local.set $6 local.get $6 if - local.get $5 - local.set $7 - loop $while-continue|1 - local.get $7 - i32.const 1 - i32.and - local.get $4 - local.get $7 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - i32.const 1 - i32.shr_s - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.eq - local.set $8 - local.get $8 - if - local.get $7 - i32.const 1 - i32.shr_s - local.set $7 - br $while-continue|1 - end - end - local.get $7 - i32.const 1 - i32.shr_s - local.set $8 + local.get $3 local.get $0 - local.get $8 - i32.const 3 + i32.load offset=4 + local.get $4 + i32.const 2 i32.shl i32.add - f64.load - local.set $9 + i32.load + local.get $4 local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $10 - local.get $9 - local.get $10 - i32.const 2 + i32.const 4 global.set $~argumentsLength - local.get $2 + local.get $1 i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $5 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - f64.store - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - end - local.get $5 + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $4 i32.const 1 - i32.sub - local.set $5 + i32.add + local.set $4 br $for-loop|0 end end + local.get $3 + ) + (func $start:std/array~anonymous|32 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 100 + i32.gt_s + end + ) + (func $start:std/array~anonymous|33 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + i32.const 1 + call $~lib/array/Array#push + drop + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|34 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|35 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + call $~lib/array/Array#pop + drop + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|36 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 local.get $1 + i32.add + ) + (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.set $3 + local.get $0 + i32.load offset=12 i32.const 1 i32.sub - local.set $5 - loop $for-loop|2 - local.get $5 - i32.const 2 + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 i32.ge_s - local.set $6 - local.get $6 + local.set $5 + local.get $5 if + local.get $3 local.get $0 - f64.load - local.set $10 - local.get $0 - local.get $0 - local.get $5 - i32.const 3 + i32.load offset=4 + local.get $4 + i32.const 2 i32.shl i32.add - f64.load - f64.store + i32.load + local.get $4 local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - i32.const 1 - local.set $8 - loop $while-continue|3 - local.get $8 - i32.const 1 - i32.shl - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $8 - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.add - local.tee $7 - local.get $5 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $7 - local.set $8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $8 - i32.const 0 - i32.gt_s - local.set $11 - local.get $11 - if - local.get $0 - f64.load - local.set $10 - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $9 - local.get $10 - local.get $9 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $8 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - local.get $0 - local.get $9 - f64.store - end - local.get $8 - i32.const 1 - i32.shr_s - local.set $8 - br $while-continue|4 - end - end - local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $4 i32.const 1 i32.sub - local.set $5 - br $for-loop|2 + local.set $4 + br $for-loop|0 end end - local.get $4 - call $~lib/rt/tlsf/__free - local.get $0 - f64.load offset=8 - local.set $12 - local.get $0 - local.get $0 - f64.load - f64.store offset=8 - local.get $0 - local.get $12 - f64.store + local.get $3 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) + (func $start:std/array~anonymous|37 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i64.reinterpret_f64 - local.set $2 local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - local.get $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $2 - local.get $3 - local.get $3 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $3 - local.get $2 - local.get $3 - i64.gt_s - local.get $2 - local.get $3 - i64.lt_s - i32.sub + i32.add ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $start:std/array~anonymous|38 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=12 + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 2 + i32.gt_s + end ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) - (local $2 f64) - local.get $1 + (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.set $3 local.get $0 i32.load offset=12 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.ge_s + local.set $5 + local.get $5 + if + local.get $3 + local.get $0 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $4 + local.get $0 + i32.const 4 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end end + local.get $3 + ) + (func $start:std/array~anonymous|39 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 100 + i32.gt_s + end + ) + (func $start:std/array~anonymous|40 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + i32.const 1 + call $~lib/array/Array#push + drop local.get $0 - i32.load offset=4 local.get $1 - i32.const 3 - i32.shl i32.add - f64.load - local.set $2 - i32.const 0 + ) + (func $start:std/array~anonymous|41 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $start:std/array~anonymous|42 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $3 + call $~lib/array/Array#pop drop - local.get $2 + local.get $0 + local.get $1 + i32.add ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/math/murmurHash3 (param $0 i64) (result i64) + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + i64.const -49064778989728563 + i64.mul + local.set $0 + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + i64.const -4265267296055464877 + i64.mul + local.set $0 + local.get $0 + local.get $0 + i64.const 33 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + ) + (func $~lib/math/splitMix32 (param $0 i32) (result i32) + local.get $0 + i32.const 1831565813 + i32.add + local.set $0 + local.get $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + local.get $0 + i32.const 1 + i32.or + i32.mul + local.set $0 + local.get $0 + local.get $0 + local.get $0 + local.get $0 + i32.const 7 + i32.shr_u + i32.xor + local.get $0 + i32.const 61 + i32.or + i32.mul + i32.add + i32.xor + local.set $0 + local.get $0 + local.get $0 + i32.const 14 + i32.shr_u + i32.xor + ) + (func $~lib/math/NativeMath.seedRandom (param $0 i64) + i32.const 1 + global.set $~lib/math/random_seeded + local.get $0 + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state1_64 + local.get $0 + i32.wrap_i64 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state0_32 + global.get $~lib/math/random_state0_32 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state1_32 + global.get $~lib/math/random_state0_64 + i64.const 0 + i64.ne + if (result i32) + global.get $~lib/math/random_state1_64 + i64.const 0 + i64.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state0_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state1_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 6240 + i32.const 1399 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f32) (local $9 i32) i32.const 0 local.set $3 @@ -6642,7 +6651,7 @@ i32.const 2 i32.shl i32.add - i32.load + f32.load local.set $5 local.get $3 i32.const 1 @@ -6661,7 +6670,7 @@ i32.const 2 i32.shl i32.add - i32.load + f32.load local.set $8 local.get $5 local.get $8 @@ -6669,7 +6678,7 @@ global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f32_f32_=>_i32) i32.const 0 i32.lt_s if @@ -6686,7 +6695,7 @@ i32.shl i32.add local.get $8 - i32.store + f32.store else br $while-break|1 end @@ -6702,7 +6711,7 @@ i32.shl i32.add local.get $5 - i32.store + f32.store local.get $3 i32.const 1 i32.add @@ -6711,17 +6720,17 @@ end end ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) + (local $9 f32) + (local $10 f32) (local $11 i32) - (local $12 i32) + (local $12 f32) local.get $1 i32.const 31 i32.add @@ -6790,14 +6799,14 @@ i32.const 2 i32.shl i32.add - i32.load + f32.load local.set $9 local.get $0 local.get $5 i32.const 2 i32.shl i32.add - i32.load + f32.load local.set $10 local.get $9 local.get $10 @@ -6805,7 +6814,7 @@ global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f32_f32_=>_i32) i32.const 0 i32.lt_s if @@ -6837,14 +6846,14 @@ i32.shl i32.add local.get $9 - i32.store + f32.store local.get $0 local.get $8 i32.const 2 i32.shl i32.add local.get $10 - i32.store + f32.store end local.get $5 i32.const 1 @@ -6865,7 +6874,7 @@ local.get $6 if local.get $0 - i32.load + f32.load local.set $10 local.get $0 local.get $0 @@ -6873,83 +6882,83 @@ i32.const 2 i32.shl i32.add - i32.load - i32.store + f32.load + f32.store local.get $0 local.get $5 i32.const 2 i32.shl i32.add local.get $10 - i32.store + f32.store i32.const 1 - local.set $9 + local.set $8 loop $while-continue|3 - local.get $9 + local.get $8 i32.const 1 i32.shl local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 i32.shl i32.add i32.load - local.get $9 + local.get $8 i32.const 31 i32.and i32.shr_u i32.const 1 i32.and i32.add - local.tee $8 + local.tee $7 local.get $5 i32.lt_s - local.set $7 - local.get $7 + local.set $11 + local.get $11 if - local.get $8 - local.set $9 + local.get $7 + local.set $8 br $while-continue|3 end end loop $while-continue|4 - local.get $9 + local.get $8 i32.const 0 i32.gt_s - local.set $7 - local.get $7 + local.set $11 + local.get $11 if local.get $0 - i32.load + f32.load local.set $10 local.get $0 - local.get $9 + local.get $8 i32.const 2 i32.shl i32.add - i32.load - local.set $11 + f32.load + local.set $9 local.get $10 - local.get $11 + local.get $9 i32.const 2 global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f32_f32_=>_i32) i32.const 0 i32.lt_s if local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 i32.shl i32.add local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 @@ -6957,27 +6966,27 @@ i32.add i32.load i32.const 1 - local.get $9 + local.get $8 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $9 + local.get $8 i32.const 2 i32.shl i32.add local.get $10 - i32.store + f32.store local.get $0 - local.get $11 - i32.store + local.get $9 + f32.store end - local.get $9 + local.get $8 i32.const 1 i32.shr_s - local.set $9 + local.set $8 br $while-continue|4 end end @@ -6991,28 +7000,209 @@ local.get $4 call $~lib/rt/tlsf/__free local.get $0 - i32.load offset=4 + f32.load offset=4 local.set $12 local.get $0 local.get $0 - i32.load - i32.store offset=4 + f32.load + f32.store offset=4 local.get $0 local.get $12 - i32.store + f32.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + return + end + local.get $0 + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq + if + local.get $3 + f32.load offset=4 + local.set $4 + local.get $3 + f32.load + local.set $5 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + f32.store offset=4 + local.get $3 + local.get $4 + f32.store + end + local.get $0 + return + end + local.get $3 + local.set $8 + local.get $2 + local.set $7 + local.get $1 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end + local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 + i32.reinterpret_f32 + local.set $2 local.get $1 + i32.reinterpret_f32 + local.set $3 + local.get $2 + local.get $2 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $2 + local.get $3 + local.get $3 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $3 + local.get $2 + local.get $3 + i32.gt_s + local.get $2 + local.get $3 + i32.lt_s i32.sub ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) + local.get $2 + i32.eqz + if + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + block $for-continue|0 + i32.const 1 + drop + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f32.ne + if (result i32) + local.get $1 + local.get $3 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f32.ne + else + i32.const 0 + end + if + br $for-continue|0 + end + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + f32.ne + if + i32.const 0 + return + end + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 1 + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 f64) (local $9 i32) i32.const 0 local.set $3 @@ -7025,10 +7215,10 @@ if local.get $0 local.get $3 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + f64.load local.set $5 local.get $3 i32.const 1 @@ -7044,10 +7234,10 @@ if local.get $0 local.get $6 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + f64.load local.set $8 local.get $5 local.get $8 @@ -7055,7 +7245,7 @@ global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if @@ -7068,11 +7258,11 @@ local.get $9 i32.const 1 i32.add - i32.const 2 + i32.const 3 i32.shl i32.add local.get $8 - i32.store + f64.store else br $while-break|1 end @@ -7084,11 +7274,11 @@ local.get $6 i32.const 1 i32.add - i32.const 2 + i32.const 3 i32.shl i32.add local.get $5 - i32.store + f64.store local.get $3 i32.const 1 i32.add @@ -7097,17 +7287,17 @@ end end ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) + (local $9 f64) + (local $10 f64) (local $11 i32) - (local $12 i32) + (local $12 f64) local.get $1 i32.const 31 i32.add @@ -7173,17 +7363,17 @@ local.set $8 local.get $0 local.get $8 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + f64.load local.set $9 local.get $0 local.get $5 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + f64.load local.set $10 local.get $9 local.get $10 @@ -7191,7 +7381,7 @@ global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if @@ -7219,18 +7409,18 @@ i32.store local.get $0 local.get $5 - i32.const 2 + i32.const 3 i32.shl i32.add local.get $9 - i32.store + f64.store local.get $0 local.get $8 - i32.const 2 + i32.const 3 i32.shl i32.add local.get $10 - i32.store + f64.store end local.get $5 i32.const 1 @@ -7251,91 +7441,91 @@ local.get $6 if local.get $0 - i32.load + f64.load local.set $10 local.get $0 local.get $0 local.get $5 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load - i32.store + f64.load + f64.store local.get $0 local.get $5 - i32.const 2 + i32.const 3 i32.shl i32.add local.get $10 - i32.store + f64.store i32.const 1 - local.set $9 + local.set $8 loop $while-continue|3 - local.get $9 + local.get $8 i32.const 1 i32.shl local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 i32.shl i32.add i32.load - local.get $9 + local.get $8 i32.const 31 i32.and i32.shr_u i32.const 1 i32.and i32.add - local.tee $8 + local.tee $7 local.get $5 i32.lt_s - local.set $7 - local.get $7 + local.set $11 + local.get $11 if - local.get $8 - local.set $9 + local.get $7 + local.set $8 br $while-continue|3 end end loop $while-continue|4 - local.get $9 + local.get $8 i32.const 0 i32.gt_s - local.set $7 - local.get $7 + local.set $11 + local.get $11 if local.get $0 - i32.load + f64.load local.set $10 local.get $0 - local.get $9 - i32.const 2 + local.get $8 + i32.const 3 i32.shl i32.add - i32.load - local.set $11 + f64.load + local.set $9 local.get $10 - local.get $11 + local.get $9 i32.const 2 global.set $~argumentsLength local.get $2 i32.load - call_indirect (type $i32_i32_=>_i32) + call_indirect (type $f64_f64_=>_i32) i32.const 0 i32.lt_s if local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 i32.shl i32.add local.get $4 - local.get $9 + local.get $8 i32.const 5 i32.shr_u i32.const 2 @@ -7343,27 +7533,27 @@ i32.add i32.load i32.const 1 - local.get $9 + local.get $8 i32.const 31 i32.and i32.shl i32.xor i32.store local.get $0 - local.get $9 - i32.const 2 + local.get $8 + i32.const 3 i32.shl i32.add local.get $10 - i32.store + f64.store local.get $0 - local.get $11 - i32.store + local.get $9 + f64.store end - local.get $9 + local.get $8 i32.const 1 i32.shr_s - local.set $9 + local.set $8 br $while-continue|4 end end @@ -7377,2538 +7567,2422 @@ local.get $4 call $~lib/rt/tlsf/__free local.get $0 - i32.load offset=4 + f64.load offset=8 local.set $12 local.get $0 local.get $0 - i32.load - i32.store offset=4 + f64.load + f64.store offset=8 local.get $0 local.get $12 - i32.store + f64.store ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - local.get $1 - i32.gt_u + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + return + end local.get $0 - local.get $1 - i32.lt_u - i32.sub - ) - (func $~lib/math/NativeMath.random (result f64) - (local $0 i64) - (local $1 i64) - (local $2 i64) - global.get $~lib/math/random_seeded - i32.eqz + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq if - call $~lib/builtins/seed - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + local.get $3 + f64.load offset=8 + local.set $4 + local.get $3 + f64.load + local.set $5 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + f64.store offset=8 + local.get $3 + local.get $4 + f64.store + end + local.get $0 + return end - global.get $~lib/math/random_state0_64 - local.set $0 - global.get $~lib/math/random_state1_64 - local.set $1 + local.get $3 + local.set $8 + local.get $2 + local.set $7 local.get $1 - global.set $~lib/math/random_state0_64 - local.get $0 - local.get $0 - i64.const 23 - i64.shl - i64.xor - local.set $0 - local.get $0 - local.get $0 - i64.const 17 - i64.shr_u - i64.xor - local.set $0 + local.set $6 + i32.const 0 + drop + local.get $7 + i32.const 256 + i32.lt_s + if + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/insertionSort + else + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/sort/weakHeapSort + end local.get $0 - local.get $1 - i64.xor - local.set $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) local.get $0 + i64.reinterpret_f64 + local.set $2 local.get $1 - i64.const 26 + i64.reinterpret_f64 + local.set $3 + local.get $2 + local.get $2 + i64.const 63 + i64.shr_s + i64.const 1 i64.shr_u i64.xor - local.set $0 - local.get $0 - global.set $~lib/math/random_state1_64 - local.get $1 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or local.set $2 + local.get $3 + local.get $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $3 local.get $2 - f64.reinterpret_i64 - f64.const 1 - f64.sub + local.get $3 + i64.gt_s + local.get $2 + local.get $3 + i64.lt_s + i32.sub ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.sub - ) - (func $start:std/array~anonymous|43 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.sub - ) - (func $start:std/array~anonymous|44 (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.sub - ) - (func $start:std/array~anonymous|45 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.sub - ) - (func $start:std/array~anonymous|46 (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.sub - ) - (func $~lib/array/Array<~lib/array/Array>#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/array/Array>#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array<~lib/array/Array>#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/array/Array>#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array>#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array>#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array>#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array>#set:length_ (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) local.get $1 - i32.store offset=12 - ) - (func $std/array/Proxy#set:x (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store - ) - (func $~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + i32.load offset=12 + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $2 - i32.store - i32.const 1 + f64.load + local.set $2 + i32.const 0 drop - local.get $0 local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $start:std/array~anonymous|48 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load - local.get $1 - i32.load - i32.sub - ) - (func $~lib/array/Array>#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 ) - (func $~lib/array/Array<~lib/string/String|null>#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/string/String#get:length (param $0 i32) (result i32) - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + local.get $2 + i32.eqz + if + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + block $for-continue|0 + i32.const 1 + drop + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f64.ne + if (result i32) + local.get $1 + local.get $3 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f64.ne + else + i32.const 0 + end + if + br $for-continue|0 + end + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $1 + local.get $3 + call $~lib/array/Array#__get + f64.ne + if + i32.const 0 + return + end + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end i32.const 1 - i32.shr_u ) - (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $5 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $6 i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 4 - i32.ge_u - if (result i32) - local.get $5 - i32.const 7 - i32.and - local.get $6 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 - end - if - block $do-break|0 - loop $do-continue|0 - local.get $5 - i64.load - local.get $6 - i64.load - i64.ne - if - br $do-break|0 - end - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $6 - i32.const 8 - i32.add - local.set $6 - local.get $4 - i32.const 4 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.ge_u - local.set $7 - local.get $7 - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $4 - local.tee $7 - i32.const 1 - i32.sub + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s local.set $4 - local.get $7 - local.set $7 - local.get $7 + local.get $4 if - local.get $5 - i32.load16_u - local.set $8 - local.get $6 - i32.load16_u - local.set $9 - local.get $8 - local.get $9 - i32.ne - if - local.get $8 - local.get $9 - i32.sub - return - end - local.get $5 + local.get $0 + local.get $3 i32.const 2 + i32.shl i32.add + i32.load local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 local.get $6 + i32.const 1 + i32.add i32.const 2 + i32.shl i32.add - local.set $6 - br $while-continue|1 - end - end - i32.const 0 - ) - (func $std/array/assertSorted<~lib/string/String|null>@varargs (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 (result i32) - i32.const 0 - drop - i32.const 0 - drop + local.get $5 + i32.store + local.get $3 i32.const 1 - drop - i32.const 7856 - br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 + i32.add + local.set $3 + br $for-loop|0 end - local.tee $1 - i32.store end - local.get $0 - local.get $1 - call $std/array/assertSorted<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String>#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/string/String>#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array<~lib/string/String>#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 ) - (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u i32.const 2 i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 - drop - local.get $0 - local.get $2 + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 + i32.const 0 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $std/array/assertSorted<~lib/string/String>@varargs (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 (result i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 7920 - br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 - end - local.tee $1 - i32.store - end - local.get $0 - local.get $1 - call $std/array/assertSorted<~lib/string/String> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) - local.get $0 - i32.const 100000 - i32.lt_u - if - local.get $0 - i32.const 100 - i32.lt_u - if + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 i32.const 1 + i32.shr_s + local.set $8 local.get $0 - i32.const 10 - i32.ge_u - i32.add - return - else - i32.const 3 - local.get $0 - i32.const 10000 - i32.ge_u + local.get $8 + i32.const 2 + i32.shl i32.add + i32.load + local.set $9 local.get $0 - i32.const 1000 - i32.ge_u + local.get $5 + i32.const 2 + i32.shl i32.add - return + i32.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 end - unreachable - else - local.get $0 - i32.const 10000000 - i32.lt_u + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 if - i32.const 6 local.get $0 - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 + i32.load + local.set $10 local.get $0 - i32.const 1000000000 - i32.ge_u - i32.add local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - return - end - unreachable - end - unreachable - ) - (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - local.set $3 - local.get $3 - if - local.get $1 - i32.const 10000 - i32.div_u - local.set $4 - local.get $1 - i32.const 10000 - i32.rem_u - local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 100 - i32.div_u - local.set $6 local.get $5 - i32.const 100 - i32.rem_u - local.set $7 - i32.const 8364 - local.get $6 i32.const 2 i32.shl i32.add - i64.load32_u - local.set $8 - i32.const 8364 - local.get $7 + i32.load + i32.store + local.get $0 + local.get $5 i32.const 2 i32.shl i32.add - i64.load32_u - local.set $9 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 + local.get $10 + i32.store i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $9 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 - end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $1 - i32.const 100 - i32.div_u - local.set $3 - local.get $1 - i32.const 100 - i32.rem_u - local.set $10 - local.get $3 - local.set $1 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 8364 - local.get $10 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $1 - i32.const 10 - i32.ge_u - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 8364 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - else - local.get $2 - i32.const 1 - i32.sub - local.set $2 - i32.const 48 - local.get $1 - i32.add - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 - end - ) - (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $2 - i32.const 2 - i32.ge_u - local.set $3 - local.get $3 - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - local.get $0 - local.get $2 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + local.get $0 + local.get $11 + i32.store + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end + local.get $5 i32.const 1 - i32.shl - i32.add - i32.const 8784 - local.get $1 - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - i32.store - local.get $1 - i64.const 8 - i64.shr_u - local.set $1 - br $while-continue|0 + i32.sub + local.set $5 + br $for-loop|2 end end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - i32.const 8784 - local.get $1 - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u - i32.store16 - end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $12 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $12 + i32.store ) - (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i64) - (local $4 i64) + (local $3 i32) + (local $4 i32) (local $5 i32) - local.get $1 + (local $6 i32) + local.get $0 + i32.load offset=12 local.set $2 local.get $2 - i32.popcnt i32.const 1 - i32.eq + i32.le_s if - i32.const 63 local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $1 - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add return end - local.get $1 - i64.extend_i32_s + local.get $0 + i32.load offset=4 local.set $3 - local.get $3 - local.set $4 - i32.const 1 - local.set $5 - loop $while-continue|0 - local.get $0 - local.get $4 - i64.ge_u - local.set $2 - local.get $2 - if - local.get $0 - local.get $4 - i64.div_u - local.set $0 - local.get $4 - local.get $4 - i64.mul - local.set $4 - local.get $5 - i32.const 1 - i32.shl - local.set $5 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $0 - i64.const 1 - i64.ge_u - local.set $2 - local.get $2 + local.get $2 + i32.const 2 + i32.eq + if + local.get $3 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load + local.set $5 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - local.get $0 local.get $3 - i64.div_u - local.set $0 local.get $5 - i32.const 1 - i32.add - local.set $5 - br $while-continue|1 + i32.store offset=4 + local.get $3 + local.get $4 + i32.store end + local.get $0 + return end + local.get $3 + local.set $6 + local.get $2 + local.set $5 + local.get $1 + local.set $4 + i32.const 0 + drop local.get $5 - i32.const 1 + i32.const 256 + i32.lt_s + if + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/insertionSort + else + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/weakHeapSort + end + local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 i32.sub ) - (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) (local $7 i32) - local.get $3 - i64.extend_i32_s - local.set $4 - local.get $3 - local.get $3 - i32.const 1 - i32.sub - i32.and + (local $8 i32) + (local $9 i32) i32.const 0 - i32.eq - if + local.set $3 + loop $for-loop|0 local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $5 + local.get $1 + i32.lt_s + local.set $4 local.get $4 - i64.const 1 - i64.sub - local.set $6 - loop $do-continue|0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 + if local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 9840 - local.get $1 - local.get $6 - i64.and - i32.wrap_i64 - i32.const 1 + local.get $3 + i32.const 2 i32.shl i32.add - i32.load16_u - i32.store16 - local.get $1 - local.get $5 - i64.shr_u - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|0 - end - else - loop $do-continue|1 - local.get $2 + i32.load + local.set $5 + local.get $3 i32.const 1 i32.sub - local.set $2 - local.get $1 - local.get $4 - i64.div_u local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end local.get $0 - local.get $2 + local.get $6 i32.const 1 + i32.add + i32.const 2 i32.shl i32.add - i32.const 9840 - local.get $1 - local.get $6 - local.get $4 - i64.mul - i64.sub - i32.wrap_i64 + local.get $5 + i32.store + local.get $3 i32.const 1 - i32.shl i32.add - i32.load16_u - i32.store16 - local.get $6 - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|1 + local.set $3 + br $for-loop|0 end end ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - local.set $2 - i32.const 1 - drop + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 i32.const 0 - i32.lt_s - local.set $2 - local.get $2 - if - i32.const 0 - local.get $1 - i32.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $1 - i32.const 10 - i32.lt_u - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - local.get $2 - i32.add - return - end - local.get $2 - local.set $3 - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $1 - i32.const 10 - i32.lt_u - if - local.get $0 - local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return - end - local.get $2 - local.set $3 - i32.const 4 - i32.const 4 - i32.le_u - drop local.get $3 + call $~lib/memory/memory.fill local.get $1 - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 - local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 - ) - (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i64) - i32.const 0 - local.get $4 i32.sub - local.set $7 - i64.const 1 - local.get $7 - i64.extend_i32_s - i64.shl - local.set $8 - local.get $8 - i64.const 1 - i64.sub - local.set $9 - local.get $3 - local.get $1 - i64.sub - local.set $10 - local.get $3 - local.get $7 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $11 - local.get $3 - local.get $9 - i64.and - local.set $12 - local.get $11 - call $~lib/util/number/decimalCount32 - local.set $13 - local.get $6 - local.set $14 - loop $while-continue|0 - local.get $13 + local.set $5 + loop $for-loop|0 + local.get $5 i32.const 0 i32.gt_s - local.set $15 - local.get $15 + local.set $6 + local.get $6 if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $13 - local.set $17 - local.get $17 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $17 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $17 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $17 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $17 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $17 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $17 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $17 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $17 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $17 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $11 - i32.const 1000000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 1000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 1000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100 - i32.div_u - local.set $16 - local.get $11 - i32.const 100 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10 - i32.div_u - local.set $16 - local.get $11 - i32.const 10 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - local.set $16 - i32.const 0 - local.set $11 - br $break|1 - end - i32.const 0 - local.set $16 - br $break|1 - end - local.get $16 - local.get $14 - i32.or - if - local.get $0 - local.get $14 - local.tee $17 - i32.const 1 - i32.add - local.set $14 - local.get $17 + local.get $5 + local.set $7 + loop $while-continue|1 + local.get $7 i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 i32.shl i32.add - i32.const 48 - local.get $16 - i32.const 65535 + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 i32.and - i32.add - i32.store16 + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - local.get $11 - i64.extend_i32_u local.get $7 - i64.extend_i32_s - i64.shl - local.get $12 - i64.add - local.set $18 - local.get $18 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $0 local.get $5 - i64.le_u + i32.const 2 + i32.shl + i32.add + i32.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - global.get $~lib/util/number/_K - local.get $13 + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl i32.add - global.set $~lib/util/number/_K + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store local.get $0 - local.set $23 - local.get $14 - local.set $17 local.get $5 - local.set $22 - local.get $18 - local.set $21 - i32.const 11360 - local.get $13 i32.const 2 i32.shl i32.add - i64.load32_u - local.get $7 - i64.extend_i32_s - i64.shl - local.set $20 + local.get $9 + i32.store + local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add local.get $10 - local.set $19 - local.get $23 - local.get $17 - i32.const 1 - i32.sub + i32.store + end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 i32.const 1 i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl i32.add - local.set $24 - local.get $24 - i32.load16_u - local.set $25 - loop $while-continue|3 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $22 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $26 - local.get $26 + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load + local.set $10 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s if - local.get $25 + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load i32.const 1 - i32.sub - local.set $25 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|3 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $10 + i32.store + local.get $0 + local.get $11 + i32.store end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 end - local.get $24 - local.get $25 - i32.store16 - local.get $14 - return end - br $while-continue|0 - end - end - loop $while-continue|4 - i32.const 1 - local.set $15 - local.get $15 - if - local.get $12 - i64.const 10 - i64.mul - local.set $12 local.get $5 - i64.const 10 - i64.mul - local.set $5 - local.get $12 - local.get $7 - i64.extend_i32_s - i64.shr_u - local.set $22 - local.get $22 - local.get $14 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $0 - local.get $14 - local.tee $25 - i32.const 1 - i32.add - local.set $14 - local.get $25 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $22 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.add - i32.store16 - end - local.get $12 - local.get $9 - i64.and - local.set $12 - local.get $13 i32.const 1 i32.sub - local.set $13 - local.get $12 + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load offset=4 + local.set $12 + local.get $0 + local.get $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $12 + i32.store + ) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + return + end + local.get $0 + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq + if + local.get $3 + i32.load offset=4 + local.set $4 + local.get $3 + i32.load + local.set $5 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 local.get $5 - i64.lt_u - if - global.get $~lib/util/number/_K - local.get $13 - i32.add - global.set $~lib/util/number/_K - local.get $10 - i32.const 11360 - i32.const 0 - local.get $13 - i32.sub - i32.const 2 - i32.shl - i32.add - i64.load32_u - i64.mul - local.set $10 - local.get $0 - local.set $17 - local.get $14 - local.set $26 - local.get $5 - local.set $27 - local.get $12 - local.set $21 - local.get $8 - local.set $20 - local.get $10 - local.set $19 - local.get $17 - local.get $26 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $25 - local.get $25 - i32.load16_u - local.set $24 - loop $while-continue|6 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $27 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $23 - local.get $23 - if - local.get $24 - i32.const 1 - i32.sub - local.set $24 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|6 - end - end - local.get $25 - local.get $24 - i32.store16 - local.get $14 - return - end - br $while-continue|4 + i32.store offset=4 + local.get $3 + local.get $4 + i32.store end + local.get $0 + return end - unreachable - ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + local.get $3 + local.set $6 local.get $2 + local.set $5 + local.get $1 + local.set $4 + i32.const 0 + drop + local.get $5 + i32.const 256 + i32.lt_s + if + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/insertionSort + else + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/weakHeapSort + end + local.get $0 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $~lib/math/NativeMath.random (result f64) + (local $0 i64) + (local $1 i64) + (local $2 i64) + global.get $~lib/math/random_seeded i32.eqz if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 2 - i32.add - return + call $~lib/builtins/seed + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom end + global.get $~lib/math/random_state0_64 + local.set $0 + global.get $~lib/math/random_state1_64 + local.set $1 + local.get $1 + global.set $~lib/math/random_state0_64 + local.get $0 + local.get $0 + i64.const 23 + i64.shl + i64.xor + local.set $0 + local.get $0 + local.get $0 + i64.const 17 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.const 26 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + global.set $~lib/math/random_state1_64 local.get $1 + i64.const 12 + i64.shr_u + i64.const 4607182418800017408 + i64.or + local.set $2 local.get $2 - i32.add - local.set $3 + f64.reinterpret_i64 + f64.const 1 + f64.sub + ) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 - local.get $3 - i32.le_s - if (result i32) + i32.sub + ) + (func $std/array/isSorted (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + loop $for-loop|0 + local.get $2 local.get $3 - i32.const 21 - i32.le_s - else - i32.const 0 - end - if - local.get $1 + i32.lt_s local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $5 - local.get $5 + local.get $4 + if + local.get $0 + local.get $2 + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.get $0 + local.get $2 + call $~lib/array/Array#__get + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + i32.const 0 + return end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) + (func $start:std/array~anonymous|43 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $start:std/array~anonymous|44 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.sub + ) + (func $start:std/array~anonymous|45 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $start:std/array~anonymous|46 (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.sub + ) + (func $~lib/array/Array<~lib/array/Array>#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/array/Array>#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array<~lib/array/Array>#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end local.get $0 - local.get $3 + local.get $1 i32.const 1 - i32.shl i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $3 i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 i32.add - return - else + call $~lib/array/Array<~lib/array/Array>#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#__uset + ) + (func $start:std/array~anonymous|47 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.sub + ) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 + local.set $3 + loop $for-loop|0 local.get $3 - i32.const 0 - i32.gt_s - if (result i32) - local.get $3 - i32.const 21 - i32.le_s - else - i32.const 0 - end + local.get $1 + i32.lt_s + local.set $4 + local.get $4 if + global.get $~lib/memory/__stack_pointer local.get $0 local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $4 - local.get $4 i32.const 2 - i32.add - local.get $4 - i32.const 0 - local.get $2 - i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - local.get $3 - i32.const 1 i32.shl i32.add - i32.const 46 - i32.store16 - local.get $1 - i32.const 1 - i32.add - return - else - i32.const -6 + i32.load + local.tee $5 + i32.store local.get $3 - i32.lt_s - if (result i32) - local.get $3 - i32.const 0 - i32.le_s - else - i32.const 0 - end - if - i32.const 2 - local.get $3 - i32.sub - local.set $4 - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 48 - i32.const 46 - i32.const 16 - i32.shl - i32.or - i32.store - i32.const 2 - local.set $5 - loop $for-loop|1 - local.get $5 - local.get $4 - i32.lt_s - local.set $6 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.const 1 + local.get $6 + i32.const 2 i32.shl i32.add - i32.const 48 - i32.store16 + i32.load + local.tee $8 + i32.store offset=4 local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|1 - end - end - local.get $1 - local.get $4 - i32.add - return - else - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - i32.const 4 - i32.add - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - local.get $6 - i32.const 0 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - local.get $6 - i32.sub - local.set $6 - end - local.get $6 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $7 - local.get $5 - local.set $10 - local.get $6 - local.set $9 - local.get $7 - local.set $8 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $10 - local.get $9 - local.get $8 - call $~lib/util/number/utoa32_dec_lut - local.get $5 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $7 - local.set $1 - local.get $1 - i32.const 2 - i32.add - return - else - local.get $1 - i32.const 1 - i32.shl - local.set $7 - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.const 2 - i32.add - local.get $7 - i32.const 2 - i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - local.get $7 - i32.add - i32.const 101 - i32.store16 offset=2 - local.get $1 - local.get $0 - local.get $7 - i32.add - i32.const 4 - i32.add - local.set $9 - local.get $3 - i32.const 1 - i32.sub - local.set $8 - local.get $8 - i32.const 0 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 local.get $8 - i32.sub - local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 end - local.get $8 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $5 - local.get $9 - local.set $11 - local.get $8 - local.set $6 - local.get $5 - local.set $10 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $11 - local.get $6 - local.get $10 - call $~lib/util/number/utoa32_dec_lut - local.get $9 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $5 - i32.add - local.set $1 - local.get $1 - i32.const 2 - i32.add - return end - unreachable end - unreachable + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - unreachable end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i64) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i64) - (local $26 i32) - (local $27 i64) - (local $28 i32) + (func $~lib/array/Array<~lib/array/Array>#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array>#set:buffer (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - f64.const 0 - f64.lt - local.set $2 - local.get $2 - if - local.get $1 - f64.neg - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end + i32.store + local.get $0 local.get $1 - local.set $5 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array>#set:dataStart (param $0 i32) (param $1 i32) local.get $0 - local.set $4 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array>#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array>#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $std/array/Proxy#set:x (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add local.get $2 - local.set $3 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $6 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $7 - local.get $6 - i64.const 4503599627370495 - i64.and - local.set $8 - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $8 - i64.add - local.set $9 - local.get $7 + i32.store i32.const 1 - local.get $7 - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $7 - local.get $9 - local.set $11 - local.get $7 - local.set $10 - local.get $11 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $12 - local.get $10 + drop + local.get $0 + local.get $2 i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array>#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array>#__uset + ) + (func $start:std/array~anonymous|48 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load + local.get $1 + i32.load i32.sub - local.set $13 - local.get $12 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $12 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $12 - local.get $13 - local.get $14 + ) + (func $~lib/util/sort/insertionSort> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $13 - i32.const 1 - local.get $11 - i64.const 4503599627370496 - i64.eq + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $15 - local.get $12 - global.set $~lib/util/number/_frc_plus - local.get $11 - local.get $15 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $10 - local.get $15 - i32.sub - local.get $13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $10 - i32.const -61 - local.get $10 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array>#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/util/sort/insertionSort<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $16 - local.get $16 - i32.trunc_f64_s - local.set $15 - local.get $15 - local.get $15 - f64.convert_i32_s - local.get $16 - f64.ne - i32.add - local.set $15 - local.get $15 - i32.const 3 - i32.shr_s - i32.const 1 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $14 - i32.const 348 - local.get $14 - i32.const 3 - i32.shl + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String|null>#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/string/String#get:length (param $0 i32) (result i32) + local.get $0 + i32.const 20 i32.sub - global.set $~lib/util/number/_K - i32.const 10488 - local.get $14 - i32.const 3 + i32.load offset=16 + i32.const 1 + i32.shr_u + ) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.get $1 + i32.const 1 i32.shl i32.add - i64.load - global.set $~lib/util/number/_frc_pow - i32.const 11184 - local.get $14 + local.set $5 + local.get $2 + local.get $3 i32.const 1 i32.shl i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - local.get $9 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $9 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $9 - local.get $7 - local.get $14 - i32.sub - local.set $7 - global.get $~lib/util/number/_frc_pow - local.set $12 - global.get $~lib/util/number/_exp_pow - local.set $15 - local.get $9 - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $24 - local.get $24 - i64.const 2147483647 - i64.add - local.set $24 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $24 - i64.const 32 - i64.shr_u - local.set $24 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $24 - i64.add - local.set $24 - local.get $7 - local.set $10 - local.get $15 - local.set $13 - local.get $10 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $10 - global.get $~lib/util/number/_frc_plus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $23 - local.get $11 - i64.const 4294967295 - i64.and - local.set $22 - local.get $17 - i64.const 32 - i64.shr_u - local.set $21 - local.get $11 - i64.const 32 - i64.shr_u - local.set $20 - local.get $23 - local.get $22 - i64.mul - local.set $19 - local.get $21 - local.get $22 - i64.mul - local.get $19 - i64.const 32 - i64.shr_u - i64.add - local.set $18 - local.get $23 - local.get $20 - i64.mul - local.get $18 - i64.const 4294967295 - i64.and - i64.add - local.set $25 - local.get $25 - i64.const 2147483647 - i64.add - local.set $25 - local.get $18 - i64.const 32 - i64.shr_u - local.set $18 - local.get $25 - i64.const 32 - i64.shr_u - local.set $25 - local.get $21 - local.get $20 - i64.mul - local.get $18 - i64.add - local.get $25 - i64.add - i64.const 1 - i64.sub - local.set $25 - global.get $~lib/util/number/_exp - local.set $26 - local.get $15 - local.set $13 - local.get $26 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $26 - global.get $~lib/util/number/_frc_minus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $27 - local.get $27 - i64.const 2147483647 - i64.add - local.set $27 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $27 - i64.const 32 - i64.shr_u - local.set $27 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $27 - i64.add - i64.const 1 - i64.add - local.set $27 - local.get $25 - local.get $27 - i64.sub - local.set $23 + local.set $6 + i32.const 0 + i32.const 2 + i32.lt_s + drop local.get $4 - local.get $24 - local.get $10 - local.get $25 - local.get $26 - local.get $23 - local.get $3 - call $~lib/util/number/genDigits - local.set $28 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $28 - local.get $2 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $28 - local.get $28 - local.get $2 - i32.add + i32.const 4 + i32.ge_u + if (result i32) + local.get $5 + i32.const 7 + i32.and + local.get $6 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-continue|0 + local.get $5 + i64.load + local.get $6 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $6 + i32.const 8 + i32.add + local.set $6 + local.get $4 + i32.const 4 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.ge_u + local.set $7 + local.get $7 + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $4 + local.tee $7 + i32.const 1 + i32.sub + local.set $4 + local.get $7 + local.set $7 + local.get $7 + if + local.get $5 + i32.load16_u + local.set $8 + local.get $6 + i32.load16_u + local.set $9 + local.get $8 + local.get $9 + i32.ne + if + local.get $8 + local.get $9 + i32.sub + return + end + local.get $5 + i32.const 2 + i32.add + local.set $5 + local.get $6 + i32.const 2 + i32.add + local.set $6 + br $while-continue|1 + end + end + i32.const 0 ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 local.get $1 - f64.const 0 - f64.eq - if - local.get $0 - i32.const 48 - i32.store16 - local.get $0 - i32.const 46 - i32.store16 offset=2 + i32.eq + if (result i32) + i32.const 1 + else local.get $0 - i32.const 48 - i32.store16 offset=4 - i32.const 3 + i32.const 0 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 return end + local.get $0 + call $~lib/string/String#get:length + local.set $2 local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.eq + call $~lib/string/String#get:length + local.set $3 + local.get $2 + local.get $3 + i32.or i32.eqz if - local.get $1 - local.get $1 - f64.ne - if - local.get $0 - i32.const 78 - i32.store16 - local.get $0 - i32.const 97 - i32.store16 offset=2 - local.get $0 - i32.const 78 - i32.store16 offset=4 - i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt - local.set $2 - local.get $2 - if - local.get $0 - i32.const 45 - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 + i32.const 0 + return + end + local.get $2 + i32.eqz + if + i32.const -1 + return + end + local.get $3 + i32.eqz + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $4 + local.get $4 + if (result i32) + local.get $4 + else + local.get $2 + local.get $3 + i32.sub + end + ) + (func $std/array/assertSorted<~lib/string/String|null>@varargs (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $0 - i64.const 29555310648492105 - i64.store - local.get $0 - i64.const 34058970405077102 - i64.store offset=8 - i32.const 8 - local.get $2 - i32.add - return + unreachable end - unreachable + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 (result i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 7856 + br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 + end + local.tee $1 + i32.store end local.get $0 local.get $1 - call $~lib/util/number/dtoa_core - ) - (func $std/array/Ref#toString (param $0 i32) (result i32) - i32.const 11600 + call $std/array/assertSorted<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 0 - local.set $2 - i32.const 1 - drop + local.get $0 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.eq + if + i32.const 1 + return + end + local.get $0 i32.const 0 - i32.lt_s + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length local.set $2 local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - local.get $1 - i32.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 + return end + local.get $0 i32.const 0 - i32.const 1 - i32.le_s - drop + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + ) + (func $~lib/array/Array<~lib/string/String>#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/string/String>#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array<~lib/string/String>#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array<~lib/string/String>#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store i32.const 1 drop + local.get $0 + local.get $2 i32.const 1 - i32.const 4 - i32.le_u - drop + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 10 - i32.lt_u + local.get $0 + i32.load offset=12 + i32.ge_u if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.get $2 + local.get $1 i32.const 1 - i32.shl i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 48 - i32.or - i32.store16 i32.const 1 - local.get $2 i32.add - return + call $~lib/array/Array<~lib/string/String>#set:length_ end + local.get $0 + local.get $1 local.get $2 + call $~lib/array/Array<~lib/string/String>#__uset + ) + (func $~lib/util/sort/insertionSort<~lib/string/String> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 local.set $3 - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/util/number/decimalCount32 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.store + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $8 + i32.store offset=4 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $3 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) local.get $0 - local.set $6 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.load offset=12 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop + local.get $0 local.get $1 - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u - if + i32.eq + if (result i32) + i32.const 1 + else local.get $0 - local.get $1 - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 + i32.const 0 + i32.eq + end + if (result i32) i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 return end - local.get $2 - local.set $3 - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $3 + local.get $0 + call $~lib/string/String#get:length + local.set $2 local.get $1 - i32.const 65535 - i32.and - call $~lib/util/number/decimalCount32 - i32.add + call $~lib/string/String#get:length local.set $3 + local.get $2 + local.get $3 + i32.or + i32.eqz + if + i32.const 0 + return + end + local.get $2 + i32.eqz + if + i32.const -1 + return + end + local.get $3 + i32.eqz + if + i32.const 1 + return + end local.get $0 - local.set $6 + i32.const 0 local.get $1 - i32.const 65535 - i32.and - local.set $5 - local.get $3 - local.set $4 i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $4 local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + if (result i32) + local.get $4 + else + local.get $2 + local.get $3 + i32.sub + end ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) - local.get $0 - i64.const 1000000000000000 - i64.lt_u + (func $std/array/assertSorted<~lib/string/String>@varargs (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 (result i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 7920 + br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 + local.get $1 + call $std/array/assertSorted<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinBooleanArray + return + ) + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 100000 + i32.lt_u if local.get $0 - i64.const 1000000000000 - i64.lt_u + i32.const 100 + i32.lt_u if - i32.const 10 - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.add + i32.const 1 local.get $0 - i64.const 10000000000 - i64.ge_u + i32.const 10 + i32.ge_u i32.add return else - i32.const 13 + i32.const 3 local.get $0 - i64.const 100000000000000 - i64.ge_u + i32.const 10000 + i32.ge_u i32.add local.get $0 - i64.const 10000000000000 - i64.ge_u + i32.const 1000 + i32.ge_u i32.add return end unreachable else local.get $0 - i64.const 100000000000000000 - i64.lt_u + i32.const 10000000 + i32.lt_u if - i32.const 16 + i32.const 6 local.get $0 - i64.const 10000000000000000 - i64.ge_u + i32.const 1000000 + i32.ge_u i32.add return else - i32.const 18 + i32.const 8 local.get $0 - i64.const -8446744073709551616 - i64.ge_u + i32.const 1000000000 + i32.ge_u i32.add local.get $0 - i64.const 1000000000000000000 - i64.ge_u + i32.const 100000000 + i32.ge_u i32.add return end @@ -9916,76 +9990,55 @@ end unreachable ) - (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) + (local $8 i64) + (local $9 i64) (local $10 i32) (local $11 i32) - (local $12 i64) - (local $13 i64) loop $while-continue|0 local.get $1 - i64.const 100000000 - i64.ge_u + i32.const 10000 + i32.ge_u local.set $3 local.get $3 if local.get $1 - i64.const 100000000 - i64.div_u + i32.const 10000 + i32.div_u local.set $4 local.get $1 - local.get $4 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 + i32.const 10000 + i32.rem_u local.set $5 local.get $4 local.set $1 local.get $5 - i32.const 10000 + i32.const 100 i32.div_u local.set $6 local.get $5 - i32.const 10000 - i32.rem_u - local.set $7 - local.get $6 - i32.const 100 - i32.div_u - local.set $8 - local.get $6 - i32.const 100 - i32.rem_u - local.set $9 - local.get $7 - i32.const 100 - i32.div_u - local.set $10 - local.get $7 i32.const 100 i32.rem_u - local.set $11 + local.set $7 i32.const 8364 - local.get $10 + local.get $6 i32.const 2 i32.shl i32.add i64.load32_u - local.set $12 + local.set $8 i32.const 8364 - local.get $11 + local.get $7 i32.const 2 i32.shl i32.add i64.load32_u - local.set $13 + local.set $9 local.get $2 i32.const 4 i32.sub @@ -9995,37 +10048,8 @@ i32.const 1 i32.shl i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - i32.const 8364 local.get $8 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 8364 local.get $9 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 i64.const 32 i64.shl i64.or @@ -10033,274 +10057,367 @@ br $while-continue|0 end end - local.get $0 - local.get $1 - i32.wrap_i64 - local.get $2 - call $~lib/util/number/utoa32_dec_lut - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop local.get $1 - i64.const 10 - i64.lt_u + i32.const 100 + i32.ge_u if - local.get $0 local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 - return - end - local.get $2 - local.set $3 - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if + i32.const 100 + i32.div_u + local.set $3 local.get $1 - i32.wrap_i64 - local.set $4 + i32.const 100 + i32.rem_u + local.set $10 local.get $3 - local.get $4 - call $~lib/util/number/decimalCount32 + local.set $1 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 8364 + local.get $10 + i32.const 2 + i32.shl i32.add - local.set $3 + i32.load + local.set $11 local.get $0 - local.set $7 - local.get $4 - local.set $6 - local.get $3 - local.set $5 - i32.const 0 + local.get $2 i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else - local.get $3 - local.get $1 - call $~lib/util/number/decimalCount64High + i32.shl i32.add - local.set $3 - local.get $0 - local.set $6 - local.get $1 - local.set $8 - local.get $3 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $8 - local.get $5 - call $~lib/util/number/utoa64_dec_lut + local.get $11 + i32.store end - local.get $3 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - i32.const 0 - local.set $2 - i32.const 1 - drop local.get $1 - i64.const 0 - i64.lt_s - local.set $2 - local.get $2 + i32.const 10 + i32.ge_u if - i64.const 0 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 8364 local.get $1 - i64.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - i64.const 10 - i64.lt_u - if + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 + local.get $11 + i32.store + else local.get $2 - i32.add - return - end - local.get $2 - local.set $3 - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if + i32.const 1 + i32.sub + local.set $2 + i32.const 48 local.get $1 - i32.wrap_i64 - local.set $4 - local.get $3 - local.get $4 - call $~lib/util/number/decimalCount32 i32.add - local.set $3 + local.set $11 local.get $0 - local.set $7 - local.get $4 - local.set $6 - local.get $3 - local.set $5 - i32.const 0 + local.get $2 i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else - local.get $3 - local.get $1 - call $~lib/util/number/decimalCount64High + i32.shl i32.add + local.get $11 + i32.store16 + end + ) + (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $2 + i32.const 2 + i32.ge_u local.set $3 - local.get $0 - local.set $6 - local.get $1 - local.set $8 local.get $3 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $8 - local.get $5 - call $~lib/util/number/utoa64_dec_lut + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 8784 + local.get $1 + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $1 + i64.const 8 + i64.shr_u + local.set $1 + br $while-continue|0 + end end - local.get $3 - ) - (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 - drop - local.get $0 local.get $2 i32.const 1 - call $~lib/rt/itcms/__link + i32.and + if + local.get $0 + i32.const 8784 + local.get $1 + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u + i32.store16 + end ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) + (local $3 i64) + (local $4 i64) (local $5 i32) - (local $6 i32) - i32.const 0 + local.get $1 local.set $2 - i32.const 0 - drop - i32.const 0 + local.get $2 + i32.popcnt i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $1 - i32.const 255 - i32.and - i32.const 10 - i32.lt_u + i32.eq if + i32.const 63 local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 local.get $1 - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 + i32.clz + i32.sub + i32.div_u i32.const 1 + i32.add return end - local.get $2 + local.get $1 + i64.extend_i32_s local.set $3 + local.get $3 + local.set $4 i32.const 1 + local.set $5 + loop $while-continue|0 + local.get $0 + local.get $4 + i64.ge_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $4 + i64.div_u + local.set $0 + local.get $4 + local.get $4 + i64.mul + local.set $4 + local.get $5 + i32.const 1 + i32.shl + local.set $5 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $0 + i64.const 1 + i64.ge_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $3 + i64.div_u + local.set $0 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $while-continue|1 + end + end + local.get $5 + i32.const 1 + i32.sub + ) + (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + local.get $3 + i64.extend_i32_s + local.set $4 + local.get $3 + local.get $3 + i32.const 1 + i32.sub + i32.and + i32.const 0 + i32.eq + if + local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $5 + local.get $4 + i64.const 1 + i64.sub + local.set $6 + loop $do-continue|0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9840 + local.get $1 + local.get $6 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $1 + local.get $5 + i64.shr_u + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|0 + end + else + loop $do-continue|1 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $4 + i64.div_u + local.set $6 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9840 + local.get $1 + local.get $6 + local.get $4 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $6 + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|1 + end + end + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 0 + local.set $2 + i32.const 1 + drop + local.get $1 + i32.const 0 + i32.lt_s + local.set $2 + local.get $2 + if + i32.const 0 + local.get $1 + i32.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 + end + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $1 + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.or + i32.store16 + i32.const 1 + local.get $2 + i32.add + return + end + local.get $2 + local.set $3 + i32.const 4 i32.const 4 i32.le_u drop local.get $3 local.get $1 - i32.const 255 - i32.and call $~lib/util/number/decimalCount32 i32.add local.set $3 local.get $0 local.set $6 local.get $1 - i32.const 255 - i32.and local.set $5 local.get $3 local.set $4 @@ -10314,7081 +10431,2607 @@ call $~lib/util/number/utoa32_dec_lut local.get $3 ) - (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop i32.const 1 drop - local.get $0 local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 + local.get $3 local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 + call $~lib/util/string/joinIntegerArray + return + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 0 + local.set $2 + i32.const 0 drop - local.get $0 - local.get $2 + i32.const 0 i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 + i32.le_s + drop + i32.const 0 + drop local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/rt/itcms/__collect - (local $0 i32) - i32.const 0 - drop - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s + i32.const 10 + i32.lt_u if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) + local.get $1 + i32.const 48 + i32.or + i32.store16 i32.const 1 - else - i32.const 0 + return end + local.get $2 + local.set $3 + i32.const 4 + i32.const 4 + i32.le_u drop - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#get:buffer (param $0 i32) (result i32) - local.get $0 - i32.load - ) - (func $~lib/array/Array#get:dataStart (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - ) - (func $~lib/array/Array#get:byteLength (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - ) - (func $~lib/array/Array#get:length_ (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 + local.get $3 local.get $1 - i32.const 2 - i32.shl + call $~lib/util/number/decimalCount32 i32.add - i32.load - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.set $3 local.get $0 - i32.load offset=4 + local.set $6 local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store + local.set $5 + local.get $3 + local.set $4 i32.const 0 + i32.const 1 + i32.ge_s drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 ) - (func $~lib/array/Array#at (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $0 - i32.load offset=12 + i32.load offset=4 local.set $2 - local.get $1 - i32.const 0 - local.get $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.set $1 - local.get $1 - local.get $2 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 125 - i32.const 33 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load + i32.load offset=12 local.set $3 i32.const 0 drop + i32.const 1 + drop + local.get $2 local.get $3 + local.get $1 + call $~lib/util/string/joinIntegerArray + return ) - (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.ge_s - end - if - i32.const -1 - return - end - local.get $2 + (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i64) i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $6 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $6 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $1 - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - ) - (func $~lib/array/Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if - i32.const -1 - return - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.set $2 - else - local.get $2 - local.get $3 - i32.ge_s - if - local.get $3 - i32.const 1 - i32.sub - local.set $2 - end - end - local.get $0 - i32.load offset=4 - local.set $4 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - local.set $5 - local.get $5 - if - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $1 - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - ) - (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 2 - call $~lib/array/ensureSize - i32.const 0 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store - local.get $0 - local.get $3 - call $~lib/array/Array#set:length_ - local.get $3 - ) - (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 + local.get $4 + i32.sub + local.set $7 + i64.const 1 local.get $7 - i32.lt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $1 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $1 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end + i64.extend_i32_s + i64.shl local.set $8 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $2 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $2 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end + local.get $8 + i64.const 1 + i64.sub local.set $9 local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $3 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end + local.get $1 + i64.sub local.set $10 - local.get $10 - local.get $9 - i32.sub - local.tee $7 - local.get $5 - local.get $8 - i32.sub - local.tee $6 + local.get $3 local.get $7 - local.get $6 - i32.lt_s - select + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 local.set $11 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - i32.add - local.get $4 + local.get $3 local.get $9 - i32.const 2 - i32.shl - i32.add + i64.and + local.set $12 local.get $11 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - ) - (func $~lib/array/Array#pop (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - i32.const 1 - i32.lt_s - if - i32.const 1152 - i32.const 80 - i32.const 269 - i32.const 21 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $2 - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $2 - ) - (func $~lib/array/Array#shift (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - i32.const 1 - i32.lt_s - if - i32.const 1152 - i32.const 80 - i32.const 328 - i32.const 21 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - i32.load - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $4 - local.get $2 - local.get $2 - i32.const 4 - i32.add - local.get $4 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - i32.const 0 - drop - local.get $2 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.const 0 - i32.store - local.get $0 - local.get $4 - call $~lib/array/Array#set:length_ - local.get $3 - ) - (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - i32.const 1 - i32.add - local.set $2 - local.get $0 - local.get $2 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - i32.load offset=4 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - i32.store - i32.const 0 - drop - local.get $0 - local.get $2 - call $~lib/array/Array#set:length_ - local.get $2 - ) - (func $~lib/array/Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - if - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $2 - local.get $3 - i32.load - i32.store - local.get $3 - local.get $5 - i32.store - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $3 - i32.const 4 - i32.sub - local.set $3 - br $while-continue|0 - end - end - end - local.get $0 - ) - (func $~lib/array/Array#flat (param $0 i32) (result i32) - i32.const 0 - i32.eqz - drop - i32.const 13584 - i32.const 80 - i32.const 470 - i32.const 7 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#get:buffer (param $0 i32) (result i32) - local.get $0 - i32.load - ) - (func $~lib/array/Array#get:dataStart (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - ) - (func $~lib/array/Array#get:byteLength (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - ) - (func $~lib/array/Array#get:length_ (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_u - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - local.get $2 - i32.store8 - i32.const 0 - drop - ) - (func $~lib/array/Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $1 - i32.const 0 - local.get $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.set $1 - local.get $1 - local.get $2 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 125 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $3 - i32.const 0 - drop - local.get $3 - ) - (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.ge_s - end - if - i32.const -1 - return - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $6 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $6 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - ) - (func $~lib/array/Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 - i32.const 0 - i32.eq - if - i32.const -1 - return - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.set $2 - else - local.get $2 - local.get $3 - i32.ge_s - if - local.get $3 - i32.const 1 - i32.sub - local.set $2 - end - end - local.get $0 - i32.load offset=4 - local.set $4 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - local.set $5 - local.get $5 - if - local.get $4 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - if - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - ) - (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 0 - call $~lib/array/ensureSize - i32.const 0 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 0 - i32.shl - i32.add - local.get $1 - i32.store8 - local.get $0 - local.get $3 - call $~lib/array/Array#set:length_ - local.get $3 - ) - (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $1 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $1 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $8 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $2 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $2 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $9 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $3 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $10 - local.get $10 - local.get $9 - i32.sub - local.tee $7 - local.get $5 - local.get $8 - i32.sub - local.tee $6 - local.get $7 - local.get $6 - i32.lt_s - select - local.set $11 - local.get $4 - local.get $8 - i32.const 0 - i32.shl - i32.add - local.get $4 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.const 0 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - ) - (func $~lib/array/Array#pop (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - i32.const 1 - i32.lt_s - if - i32.const 1152 - i32.const 80 - i32.const 269 - i32.const 21 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $2 - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $2 - ) - (func $~lib/array/Array#shift (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - i32.const 1 - i32.lt_s - if - i32.const 1152 - i32.const 80 - i32.const 328 - i32.const 21 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - i32.load8_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $4 - local.get $2 - local.get $2 - i32.const 1 - i32.add - local.get $4 - i32.const 0 - i32.shl - call $~lib/memory/memory.copy - i32.const 0 - drop - local.get $2 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.const 0 - i32.store8 - local.get $0 - local.get $4 - call $~lib/array/Array#set:length_ - local.get $3 - ) - (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - i32.const 1 - i32.add - local.set $2 - local.get $0 - local.get $2 - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - i32.load offset=4 - local.set $3 - local.get $3 - i32.const 1 - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.sub - i32.const 0 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - i32.store8 - i32.const 0 - drop - local.get $0 - local.get $2 - call $~lib/array/Array#set:length_ - local.get $2 - ) - (func $~lib/array/Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load offset=12 - local.set $1 - local.get $1 - if - local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load8_u - local.set $5 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - local.get $3 - local.get $5 - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|0 - end - end - end - local.get $0 - ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - local.get $0 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $8 - local.get $5 - local.get $8 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 0 - i32.shl - i32.add - local.get $8 - i32.store8 - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.add - i32.const 0 - i32.shl - i32.add - local.get $5 - i32.store8 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.set $3 - local.get $3 - call $~lib/rt/tlsf/__alloc - local.set $4 - local.get $4 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|0 - local.get $5 - i32.const 0 - i32.gt_s - local.set $6 - local.get $6 - if - local.get $5 - local.set $7 - loop $while-continue|1 - local.get $7 - i32.const 1 - i32.and - local.get $4 - local.get $7 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - i32.const 1 - i32.shr_s - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.eq - local.set $8 - local.get $8 - if - local.get $7 - i32.const 1 - i32.shr_s - local.set $7 - br $while-continue|1 - end - end - local.get $7 - i32.const 1 - i32.shr_s - local.set $8 - local.get $0 - local.get $8 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $0 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $10 - local.get $9 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $5 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $5 - i32.const 0 - i32.shl - i32.add - local.get $9 - i32.store8 - local.get $0 - local.get $8 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.store8 - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|0 - end - end - local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|2 - local.get $5 - i32.const 2 - i32.ge_s - local.set $6 - local.get $6 - if - local.get $0 - i32.load8_u - local.set $10 - local.get $0 - local.get $0 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - i32.store8 - local.get $0 - local.get $5 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.store8 - i32.const 1 - local.set $9 - loop $while-continue|3 - local.get $9 - i32.const 1 - i32.shl - local.get $4 - local.get $9 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $9 - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.add - local.tee $8 - local.get $5 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $8 - local.set $9 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $9 - i32.const 0 - i32.gt_s - local.set $7 - local.get $7 - if - local.get $0 - i32.load8_u - local.set $10 - local.get $0 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $11 - local.get $10 - local.get $11 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $9 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $9 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $9 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $10 - i32.store8 - local.get $0 - local.get $11 - i32.store8 - end - local.get $9 - i32.const 1 - i32.shr_s - local.set $9 - br $while-continue|4 - end - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|2 - end - end - local.get $4 - call $~lib/rt/tlsf/__free - local.get $0 - i32.load8_u offset=1 - local.set $12 - local.get $0 - local.get $0 - i32.load8_u - i32.store8 offset=1 - local.get $0 - local.get $12 - i32.store8 - ) - (func $~lib/array/Array#flat (param $0 i32) (result i32) - i32.const 0 - i32.eqz - drop - i32.const 13584 - i32.const 80 - i32.const 470 - i32.const 7 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>#get:buffer (param $0 i32) (result i32) - local.get $0 - i32.load - ) - (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $0 i32) (result i32) - local.get $0 - i32.load offset=4 - ) - (func $~lib/array/Array<~lib/string/String>#get:byteLength (param $0 i32) (result i32) - local.get $0 - i32.load offset=8 - ) - (func $~lib/array/Array<~lib/string/String>#get:length_ (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array<~lib/string/String>#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#set:length_ - ) - (func $~lib/array/Array<~lib/string/String>#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/array/Array<~lib/string/String>#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $2 - i32.add - local.tee $6 - i32.const 0 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_s - select - else - local.get $2 - local.tee $7 - local.get $5 - local.tee $6 - local.get $7 - local.get $6 - i32.lt_s - select - end - local.set $2 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $3 - i32.add - local.tee $6 - i32.const 0 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_s - select - else - local.get $3 - local.tee $7 - local.get $5 - local.tee $6 - local.get $7 - local.get $6 - i32.lt_s - select - end - local.set $3 - i32.const 1 - drop - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - local.get $0 - ) - (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 2 - call $~lib/array/ensureSize - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $3 - ) - (func $~lib/array/Array<~lib/string/String>#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $0 - i32.load offset=4 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $1 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $1 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $8 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $2 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $2 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $9 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $5 - local.get $3 - i32.add - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - else - local.get $3 - local.tee $6 - local.get $5 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $10 - local.get $10 - local.get $9 - i32.sub - local.tee $7 - local.get $5 - local.get $8 - i32.sub - local.tee $6 - local.get $7 - local.get $6 - i32.lt_s - select - local.set $11 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - ) - (func $~lib/array/Array<~lib/string/String>#unshift (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - i32.const 1 - i32.add - local.set $2 - local.get $0 - local.get $2 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - i32.load offset=4 - local.set $3 - local.get $3 - i32.const 4 - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $1 - i32.store - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $2 - ) - (func $~lib/array/Array<~lib/string/String>#flat (param $0 i32) (result i32) - i32.const 0 - i32.eqz - drop - i32.const 13584 - i32.const 80 - i32.const 470 - i32.const 7 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $std/array/ArrayU32#constructor@varargs (param $0 i32) (param $1 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - local.get $0 - local.get $1 - call $std/array/ArrayU32#constructor - ) - (func $~lib/array/Array#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#fill - ) - (func $~lib/array/Array#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#includes - ) - (func $~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#indexOf - ) - (func $~lib/array/Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - i32.load offset=12 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#lastIndexOf - ) - (func $~lib/array/Array#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#copyWithin - ) - (func $~lib/array/Array#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#slice - ) - (func $~lib/array/Array#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#splice - ) - (func $std/array/ArrayU8#constructor@varargs (param $0 i32) (param $1 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - local.get $0 - local.get $1 - call $std/array/ArrayU8#constructor - ) - (func $~lib/array/Array#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#fill - ) - (func $~lib/array/Array#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#includes - ) - (func $~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#indexOf - ) - (func $~lib/array/Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - i32.load offset=12 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#lastIndexOf - ) - (func $~lib/array/Array#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#copyWithin - ) - (func $~lib/array/Array#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#slice - ) - (func $~lib/array/Array#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#splice - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - local.get $1 - i32.const 255 - i32.and - i32.gt_u - local.get $0 - i32.const 255 - i32.and - local.get $1 - i32.const 255 - i32.and - i32.lt_u - i32.sub - ) - (func $std/array/ArrayStr#constructor@varargs (param $0 i32) (param $1 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - local.get $0 - local.get $1 - call $std/array/ArrayStr#constructor - ) - (func $~lib/array/Array<~lib/string/String>#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#fill - ) - (func $~lib/array/Array<~lib/string/String>#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#includes - ) - (func $~lib/array/Array<~lib/string/String>#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#indexOf - ) - (func $~lib/array/Array<~lib/string/String>#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - i32.load offset=12 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#lastIndexOf - ) - (func $~lib/array/Array<~lib/string/String>#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#copyWithin - ) - (func $~lib/array/Array<~lib/string/String>#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#slice - ) - (func $~lib/array/Array<~lib/string/String>#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#splice - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $std/array/arr - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/array/charset - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 320 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 13584 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 1152 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 4672 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 128 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 8784 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 9840 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit - ) - (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit - ) - (func $~lib/array/Array>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array>#__visit - ) - (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit - ) - (func $~lib/array/Array<~lib/string/String|null>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String|null>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String|null>#__visit - ) - (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit - ) - (func $std/array/ArrayU32~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array~visit - ) - (func $std/array/ArrayU8~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array~visit - ) - (func $std/array/ArrayStr~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - ) - (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/function/Function<%28u8%2Cu8%29=>i32> - block $std/array/ArrayStr - block $std/array/ArrayU8 - block $std/array/ArrayU32 - block $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> - block $~lib/array/Array<~lib/array/Array<~lib/array/Array>> - block $~lib/array/Array<~lib/array/Array> - block $~lib/array/Array<~lib/array/Array> - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> - block $~lib/array/Array<~lib/string/String> - block $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> - block $~lib/array/Array<~lib/string/String|null> - block $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> - block $~lib/array/Array> - block $std/array/Proxy - block $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> - block $~lib/array/Array<~lib/array/Array> - block $~lib/function/Function<%28u32%2Cu32%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%29=>i32> - block $~lib/function/Function<%28f64%2Cf64%29=>i32> - block $~lib/function/Function<%28f32%2Cf32%29=>i32> - block $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> - block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/typedarray/Uint8Array - block $std/array/Ref - block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $std/array/Ref $~lib/typedarray/Uint8Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28f32%2Cf32%29=>i32> $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/array/Array<~lib/array/Array> $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> $std/array/Proxy $~lib/array/Array> $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> $~lib/array/Array<~lib/string/String|null> $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> $~lib/array/Array<~lib/string/String> $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array<~lib/array/Array>> $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> $std/array/ArrayU32 $std/array/ArrayU8 $std/array/ArrayStr $~lib/function/Function<%28u8%2Cu8%29=>i32> $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit - return - end - return - end - local.get $0 - local.get $1 - call $~lib/array/Array>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String|null>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit - return - end - local.get $0 - local.get $1 - call $std/array/ArrayU32~visit - return - end - local.get $0 - local.get $1 - call $std/array/ArrayU8~visit - return - end - local.get $0 - local.get $1 - call $std/array/ArrayStr~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit - return - end - unreachable - ) - (func $~setArgumentsLength (param $0 i32) - local.get $0 - global.set $~argumentsLength - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std/array - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 30464 - i32.const 30512 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - drop - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - drop - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $std/array/internalCapacity (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $1 - i32.store - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 - i32.shr_s - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - i32.eqz - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - drop - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - drop - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#indexOf - i32.const 0 - i32.ge_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/util/number/decimalCount32 + local.set $13 local.get $6 - ) - (func $start:std/array~anonymous|3 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - i32.const 100 - i32.eq - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $start:std/array~anonymous|5 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - local.get $0 - i32.const 100 - i32.eq - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 + local.set $14 + loop $while-continue|0 + local.get $13 + i32.const 0 + i32.gt_s + local.set $15 + local.get $15 if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - if + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $13 + local.set $17 + local.get $17 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $17 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $17 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $17 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $17 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $17 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $17 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $17 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $17 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $17 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $11 + i32.const 1000000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100 + i32.div_u + local.set $16 + local.get $11 + i32.const 100 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10 + i32.div_u + local.set $16 + local.get $11 + i32.const 10 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + local.set $16 + i32.const 0 + local.set $11 + br $break|1 + end i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.set $16 + br $break|1 + end + local.get $16 + local.get $14 + i32.or + if + local.get $0 + local.get $14 + local.tee $17 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.set $14 + local.get $17 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $16 + i32.const 65535 + i32.and + i32.add + i32.store16 end - local.get $2 + local.get $13 i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $start:std/array~anonymous|8 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - i32.const 10 - i32.lt_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $start:std/array~anonymous|10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - local.get $0 - i32.const 3 - i32.lt_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) + i32.sub + local.set $13 + local.get $11 + i64.extend_i32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.get $12 + i64.add + local.set $18 + local.get $18 + local.get $5 + i64.le_u if + global.get $~lib/util/number/_K + local.get $13 + i32.add + global.set $~lib/util/number/_K + local.get $0 + local.set $23 + local.get $14 + local.set $17 + local.get $5 + local.set $22 + local.get $18 + local.set $21 + i32.const 11360 + local.get $13 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.set $20 + local.get $10 + local.set $19 + local.get $23 + local.get $17 i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.sub + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.set $24 + local.get $24 + i32.load16_u + local.set $25 + loop $while-continue|3 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $22 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $26 + local.get $26 + if + local.get $25 + i32.const 1 + i32.sub + local.set $25 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|3 + end + end + local.get $24 + local.get $25 + i32.store16 + local.get $14 return end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $start:std/array~anonymous|13 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - local.get $0 - i32.const 10 - i32.gt_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $start:std/array~anonymous|15 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - local.get $0 - i32.const 3 - i32.gt_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 + loop $while-continue|4 + i32.const 1 + local.set $15 + local.get $15 if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|17 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|19 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|20 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - i32.const 0 - i32.eq - if - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - i32.const 4 - i32.lt_s - local.set $4 - local.get $4 + local.get $12 + i64.const 10 + i64.mul + local.set $12 + local.get $5 + i64.const 10 + i64.mul + local.set $5 + local.get $12 + local.get $7 + i64.extend_i32_s + i64.shr_u + local.set $22 + local.get $22 + local.get $14 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne if - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#pop - drop - local.get $3 + local.get $0 + local.get $14 + local.tee $25 i32.const 1 i32.add - local.set $3 - br $for-loop|0 - end - end - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - i32.const 100 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - i32.const 100 - local.get $3 - i32.add - call $~lib/array/Array#push - drop - local.get $3 + local.set $14 + local.get $25 i32.const 1 + i32.shl i32.add - local.set $3 - br $for-loop|1 - end - end - i32.const 0 - local.set $3 - loop $for-loop|2 - local.get $3 - i32.const 100 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#pop - drop - local.get $3 - i32.const 1 + i32.const 48 + local.get $22 + i32.wrap_i64 + i32.const 65535 + i32.and i32.add - local.set $3 - br $for-loop|2 + i32.store16 end - end - i32.const 0 - local.set $3 - loop $for-loop|3 - local.get $3 - i32.const 100 - i32.lt_s - local.set $4 - local.get $4 + local.get $12 + local.get $9 + i64.and + local.set $12 + local.get $13 + i32.const 1 + i32.sub + local.set $13 + local.get $12 + local.get $5 + i64.lt_u if - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $3 - i32.const 200 + global.get $~lib/util/number/_K + local.get $13 i32.add - call $~lib/array/Array#push - drop - local.get $3 + global.set $~lib/util/number/_K + local.get $10 + i32.const 11360 + i32.const 0 + local.get $13 + i32.sub + i32.const 2 + i32.shl + i32.add + i64.load32_u + i64.mul + local.set $10 + local.get $0 + local.set $17 + local.get $14 + local.set $26 + local.get $5 + local.set $27 + local.get $12 + local.set $21 + local.get $8 + local.set $20 + local.get $10 + local.set $19 + local.get $17 + local.get $26 + i32.const 1 + i32.sub i32.const 1 + i32.shl i32.add - local.set $3 - br $for-loop|3 - end - end - end - local.get $1 - i32.const 2 - i32.eq - if - local.get $0 - i32.const 202 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 680 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 9 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - local.tee $6 - local.get $0 - i32.load offset=12 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - i32.load offset=4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_f32) - local.set $8 - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.get $8 - f32.store - i32.const 0 - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.set $25 + local.get $25 + i32.load16_u + local.set $24 + loop $while-continue|6 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $27 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $23 + local.get $23 + if + local.get $24 + i32.const 1 + i32.sub + local.set $24 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|6 + end + end + local.get $25 + local.get $24 + i32.store16 + local.get $14 + return + end + br $while-continue|4 end end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $start:std/array~anonymous|22 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + unreachable ) - (func $~lib/array/Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 - local.set $2 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) + (local $11 i32) local.get $2 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - local.tee $6 + i32.eqz + if local.get $0 - i32.load offset=12 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - i32.load offset=4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - local.set $7 - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store - i32.const 0 - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 2 + i32.add + return end - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $start:std/array~anonymous|24 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + local.get $1 local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $0 i32.add - global.set $std/array/i - local.get $0 local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 local.get $3 - ) - (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store - i32.const 0 - local.set $3 - local.get $0 - i32.load offset=12 - local.set $4 - loop $for-loop|0 + i32.le_s + if (result i32) local.get $3 - local.get $4 - local.tee $5 + i32.const 21 + i32.le_s + else + i32.const 0 + end + if + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end local.get $0 - i32.load offset=12 - local.tee $6 - local.get $5 - local.get $6 - i32.lt_s - select - i32.lt_s - local.set $5 - local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $3 + i32.const 2 + i32.add + return + else + local.get $3 + i32.const 0 + i32.gt_s + if (result i32) + local.get $3 + i32.const 21 + i32.le_s + else + i32.const 0 + end if local.get $0 - i32.load offset=4 local.get $3 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load - local.set $6 - local.get $6 - local.get $3 + local.set $4 + local.get $4 + i32.const 2 + i32.add + local.get $4 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - global.set $~argumentsLength + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.store16 local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) + i32.const 1 + i32.add + return + else + i32.const -6 + local.get $3 + i32.lt_s + if (result i32) + local.get $3 + i32.const 0 + i32.le_s + else + i32.const 0 + end if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $6 - call $~lib/array/Array#push - drop + i32.const 2 + local.get $3 + i32.sub + local.set $4 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store + i32.const 2 + local.set $5 + loop $for-loop|1 + local.get $5 + local.get $4 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|1 + end + end + local.get $1 + local.get $4 + i32.add + return + else + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + i32.const 4 + i32.add + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + local.get $6 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $6 + i32.sub + local.set $6 + end + local.get $6 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $7 + local.get $5 + local.set $10 + local.get $6 + local.set $9 + local.get $7 + local.set $8 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/number/utoa32_dec_lut + local.get $5 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $7 + local.set $1 + local.get $1 + i32.const 2 + i32.add + return + else + local.get $1 + i32.const 1 + i32.shl + local.set $7 + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $7 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $7 + i32.add + i32.const 101 + i32.store16 offset=2 + local.get $1 + local.get $0 + local.get $7 + i32.add + i32.const 4 + i32.add + local.set $9 + local.get $3 + i32.const 1 + i32.sub + local.set $8 + local.get $8 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $8 + i32.sub + local.set $8 + end + local.get $8 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $5 + local.get $9 + local.set $11 + local.get $8 + local.set $6 + local.get $5 + local.set $10 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $11 + local.get $6 + local.get $10 + call $~lib/util/number/utoa32_dec_lut + local.get $9 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $5 + i32.add + local.set $1 + local.get $1 + i32.const 2 + i32.add + return + end + unreachable end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $start:std/array~anonymous|26 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - local.get $0 - i32.const 2 - i32.ge_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $start:std/array~anonymous|28 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - local.get $0 - i32.const 2 - i32.ge_s - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - i32.const 0 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - loop $for-loop|0 - local.get $4 - local.get $5 - local.tee $6 - local.get $0 - i32.load offset=12 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - local.set $6 - local.get $6 - if - local.get $3 - local.get $0 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - i32.const 4 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + unreachable end + unreachable end - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + unreachable ) - (func $~lib/array/Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 f64) + (local $6 i64) (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i64) + (local $12 i64) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 f64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + (local $25 i64) + (local $26 i32) + (local $27 i64) + (local $28 i32) + local.get $1 + f64.const 0 + f64.lt + local.set $2 local.get $2 - local.set $3 - i32.const 0 - local.set $4 - local.get $0 - i32.load offset=12 - local.set $5 - loop $for-loop|0 - local.get $4 - local.get $5 - local.tee $6 + if + local.get $1 + f64.neg + local.set $1 local.get $0 - i32.load offset=12 - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - local.set $6 - local.get $6 - if - local.get $3 - local.get $0 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - i32.const 4 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.const 45 + i32.store16 end - local.get $3 + local.get $1 + local.set $5 + local.get $0 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i64.reinterpret_f64 + local.set $6 + local.get $6 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $7 + local.get $6 + i64.const 4503599627370495 + i64.and local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $7 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl local.get $8 - ) - (func $start:std/array~anonymous|33 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + i64.add + local.set $9 + local.get $7 + i32.const 1 + local.get $7 + select + i32.const 1023 + i32.const 52 + i32.add i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 + local.set $7 + local.get $9 + local.set $11 + local.get $7 + local.set $10 + local.get $11 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $12 + local.get $10 i32.const 1 - call $~lib/array/Array#push - drop - local.get $0 - local.get $1 + i32.sub + local.set $13 + local.get $12 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $12 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $12 + local.get $13 + local.get $14 + i32.sub + local.set $13 + i32.const 1 + local.get $11 + i64.const 4503599627370496 + i64.eq i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.set $15 + local.get $12 + global.set $~lib/util/number/_frc_plus + local.get $11 + local.get $15 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $10 + local.get $15 + i32.sub + local.get $13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $10 + i32.const -61 + local.get $10 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $16 + local.get $16 + i32.trunc_f64_s + local.set $15 + local.get $15 + local.get $15 + f64.convert_i32_s + local.get $16 + f64.ne + i32.add + local.set $15 + local.get $15 + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $14 + i32.const 348 + local.get $14 + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 10488 + local.get $14 + i32.const 3 + i32.shl + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + i32.const 11184 + local.get $14 + i32.const 1 + i32.shl + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + local.get $9 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $9 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $9 + local.get $7 + local.get $14 + i32.sub + local.set $7 + global.get $~lib/util/number/_frc_pow + local.set $12 + global.get $~lib/util/number/_exp_pow + local.set $15 + local.get $9 + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $24 + local.get $24 + i64.const 2147483647 + i64.add + local.set $24 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $24 + i64.const 32 + i64.shr_u + local.set $24 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $24 + i64.add + local.set $24 + local.get $7 + local.set $10 + local.get $15 + local.set $13 + local.get $10 + local.get $13 i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $start:std/array~anonymous|35 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array#pop - drop - local.get $0 - local.get $1 + i32.const 64 i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.set $10 + global.get $~lib/util/number/_frc_plus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $23 + local.get $11 + i64.const 4294967295 + i64.and + local.set $22 + local.get $17 + i64.const 32 + i64.shr_u + local.set $21 + local.get $11 + i64.const 32 + i64.shr_u + local.set $20 + local.get $23 + local.get $22 + i64.mul + local.set $19 + local.get $21 + local.get $22 + i64.mul + local.get $19 + i64.const 32 + i64.shr_u + i64.add + local.set $18 + local.get $23 + local.get $20 + i64.mul + local.get $18 + i64.const 4294967295 + i64.and + i64.add + local.set $25 + local.get $25 + i64.const 2147483647 + i64.add + local.set $25 + local.get $18 + i64.const 32 + i64.shr_u + local.set $18 + local.get $25 + i64.const 32 + i64.shr_u + local.set $25 + local.get $21 + local.get $20 + i64.mul + local.get $18 + i64.add + local.get $25 + i64.add + i64.const 1 + i64.sub + local.set $25 + global.get $~lib/util/number/_exp + local.set $26 + local.get $15 + local.set $13 + local.get $26 + local.get $13 i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 - local.get $0 - i32.load offset=12 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $4 - i32.const 0 - i32.ge_s - local.set $5 - local.get $5 - if - local.get $3 - local.get $0 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|0 - end - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 64 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $2 - local.set $3 + local.set $26 + global.get $~lib/util/number/_frc_minus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $27 + local.get $27 + i64.const 2147483647 + i64.add + local.set $27 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $27 + i64.const 32 + i64.shr_u + local.set $27 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $27 + i64.add + i64.const 1 + i64.add + local.set $27 + local.get $25 + local.get $27 + i64.sub + local.set $23 + local.get $4 + local.get $24 + local.get $10 + local.get $25 + local.get $26 + local.get $23 + local.get $3 + call $~lib/util/number/genDigits + local.set $28 local.get $0 - i32.load offset=12 + local.get $2 i32.const 1 + i32.shl + i32.add + local.get $28 + local.get $2 i32.sub - local.set $4 - loop $for-loop|0 - local.get $4 - i32.const 0 - i32.ge_s - local.set $5 - local.get $5 + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $28 + local.get $28 + local.get $2 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + local.get $1 + f64.const 0 + f64.eq + if + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + return + end + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $1 + local.get $1 + f64.ne if - local.get $3 local.get $0 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 + i32.const 78 + i32.store16 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 4 - global.set $~argumentsLength + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + return + else local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|0 + f64.const 0 + f64.lt + local.set $2 + local.get $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $2 + i32.add + return end + unreachable end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $start:std/array~anonymous|40 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 1 - call $~lib/array/Array#push - drop local.get $0 local.get $1 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + call $~lib/util/number/dtoa_core ) - (func $start:std/array~anonymous|42 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 i32.const 0 - i32.store - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array#pop drop - local.get $0 + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 local.get $1 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + call $~lib/util/string/joinFloatArray + return ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String|null>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=12 + i32.load offset=4 local.set $2 - local.get $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 i32.const 1 - i32.le_s - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end + i32.lt_s + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinStringArray + return + ) + (func $std/array/Ref#toString (param $0 i32) (result i32) + i32.const 11600 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop local.get $2 - i32.const 2 - i32.eq - if - local.get $3 - f32.load offset=4 - local.set $4 - local.get $3 - f32.load - local.set $5 - local.get $4 - local.get $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - f32.store offset=4 - local.get $3 - local.get $4 - f32.store - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end local.get $3 - local.set $8 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $6 - i32.store + call $~lib/util/string/joinReferenceArray + return + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 i32.const 0 drop - local.get $7 - i32.const 256 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 i32.lt_s - if - local.get $8 - local.get $7 - local.get $6 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/util/sort/insertionSort - else - local.get $8 - local.get $7 - local.get $6 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/util/sort/weakHeapSort - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinReferenceArray + return ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + local.set $2 + i32.const 1 + drop + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.lt_s + local.set $2 local.get $2 - i32.eqz if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/array/Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $0 + i32.const 0 local.get $1 - i32.eq - if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - block $for-continue|0 - i32.const 1 - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f32.ne - if (result i32) - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f32.ne - else - i32.const 0 - end - if - br $for-continue|0 - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - f32.ne - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 end + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 48 + i32.or + i32.store16 + i32.const 1 + local.get $2 + i32.add + return + end + local.get $2 + local.set $3 i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $3 + local.get $0 + local.set $6 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=12 + i32.load offset=4 local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinIntegerArray + return + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 0 + local.set $2 + i32.const 0 + drop + i32.const 0 i32.const 1 i32.le_s + drop + i32.const 0 + drop + local.get $1 + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $1 + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 return end - local.get $0 - i32.load offset=4 - local.set $3 local.get $2 + local.set $3 i32.const 2 - i32.eq - if - local.get $3 - f64.load offset=8 - local.set $4 - local.get $3 - f64.load - local.set $5 - local.get $4 - local.get $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - f64.store offset=8 - local.get $3 - local.get $4 - f64.store - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end + i32.const 4 + i32.le_u + drop local.get $3 - local.set $8 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $6 - i32.store + i32.const 65535 + i32.and + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + i32.const 65535 + i32.and + local.set $5 + local.get $3 + local.set $4 i32.const 0 + i32.const 1 + i32.ge_s drop - local.get $7 - i32.const 256 - i32.lt_s - if - local.get $8 - local.get $7 - local.get $6 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/util/sort/insertionSort - else - local.get $8 - local.get $7 - local.get $6 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/util/sort/weakHeapSort - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 ) - (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 i32.const 0 - i32.store + drop + i32.const 1 + drop local.get $2 - i32.eqz + local.get $3 + local.get $1 + call $~lib/util/string/joinIntegerArray + return + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 1000000000000000 + i64.lt_u if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/array/Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/array/Array#get:length - i32.ne + i64.const 1000000000000 + i64.lt_u if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 10 + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end + unreachable + else local.get $0 - local.get $1 - i32.eq + i64.const 100000000000000000 + i64.lt_u if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end + unreachable end - i32.const 0 - local.set $3 - loop $for-loop|0 + unreachable + ) + (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i64) + loop $while-continue|0 + local.get $1 + i64.const 100000000 + i64.ge_u + local.set $3 local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 if - block $for-continue|0 - i32.const 1 - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f64.ne - if (result i32) - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f64.ne - else - i32.const 0 - end - if - br $for-continue|0 - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/array/Array#__get - f64.ne - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - end - local.get $3 + local.get $1 + i64.const 100000000 + i64.div_u + local.set $4 + local.get $1 + local.get $4 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $7 + local.get $6 + i32.const 100 + i32.div_u + local.set $8 + local.get $6 + i32.const 100 + i32.rem_u + local.set $9 + local.get $7 + i32.const 100 + i32.div_u + local.set $10 + local.get $7 + i32.const 100 + i32.rem_u + local.set $11 + i32.const 8364 + local.get $10 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 8364 + local.get $11 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 i32.const 1 + i32.shl i32.add - local.set $3 - br $for-loop|0 + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + i32.const 8364 + local.get $8 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 8364 + local.get $9 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 end end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $0 + local.get $1 + i32.wrap_i64 + local.get $2 + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 + (local $8 i64) + i32.const 0 local.set $2 - local.get $2 + i32.const 0 + drop + i32.const 0 i32.const 1 i32.le_s + drop + i32.const 0 + drop + local.get $1 + i64.const 10 + i64.lt_u if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 return end - local.get $0 - i32.load offset=4 - local.set $3 local.get $2 - i32.const 2 - i32.eq + local.set $3 + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $1 + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if - local.get $3 - i32.load offset=4 + local.get $1 + i32.wrap_i64 local.set $4 local.get $3 - i32.load - local.set $5 local.get $4 - local.get $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store - end + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 local.get $0 local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + local.set $6 + local.get $3 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop local.get $7 - return - end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store - i32.const 0 - drop - local.get $5 - i32.const 256 - i32.lt_s - if local.get $6 local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/util/sort/insertionSort + call $~lib/util/number/utoa32_dec_lut else + local.get $3 + local.get $1 + call $~lib/util/number/decimalCount64High + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + local.set $8 + local.get $3 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop local.get $6 + local.get $8 local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/util/sort/weakHeapSort + call $~lib/util/number/utoa64_dec_lut end + local.get $3 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinIntegerArray + return ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 + (local $8 i64) + i32.const 0 local.set $2 - local.get $2 i32.const 1 - i32.le_s - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $0 - i32.load offset=4 - local.set $3 + drop + local.get $1 + i64.const 0 + i64.lt_s + local.set $2 local.get $2 - i32.const 2 - i32.eq if - local.get $3 - i32.load offset=4 - local.set $4 - local.get $3 - i32.load - local.set $5 - local.get $4 - local.get $5 - i32.const 2 - global.set $~argumentsLength + i64.const 0 local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store - end + i64.sub + local.set $1 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 45 + i32.store16 + end + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $1 + i64.const 10 + i64.lt_u + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 return end - local.get $3 - local.set $6 local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store - i32.const 0 + local.set $3 + i32.const 8 + i32.const 4 + i32.le_u drop - local.get $5 - i32.const 256 - i32.lt_s + local.get $1 + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if - local.get $6 - local.get $5 + local.get $1 + i32.wrap_i64 + local.set $4 + local.get $3 local.get $4 + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 + local.get $0 local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 + local.get $4 + local.set $6 + local.get $3 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop local.get $7 - call $~lib/util/sort/insertionSort + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut else + local.get $3 + local.get $1 + call $~lib/util/number/decimalCount64High + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + local.set $8 + local.get $3 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop local.get $6 + local.get $8 local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/util/sort/weakHeapSort + call $~lib/util/number/utoa64_dec_lut end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $3 ) - (func $std/array/createReverseOrderedArray (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $0 - call $~lib/array/Array#constructor - local.tee $1 - i32.store - i32.const 0 + i32.load offset=4 local.set $2 - loop $for-loop|0 - local.get $2 - local.get $0 - i32.lt_s - local.set $3 - local.get $3 - if - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $2 - local.get $0 - i32.const 1 - i32.sub - local.get $2 - i32.sub - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + call $~lib/util/string/joinIntegerArray + return ) - (func $std/array/createRandomOrderedArray (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + return + ) + (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - call $~lib/array/Array#constructor - local.tee $1 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 i32.store + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 0 local.set $2 - loop $for-loop|0 - local.get $2 + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $1 + i32.const 255 + i32.and + i32.const 10 + i32.lt_u + if local.get $0 - i32.lt_s - local.set $3 - local.get $3 - if - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $2 - call $~lib/math/NativeMath.random - local.get $0 - f64.convert_i32_s - f64.mul - i32.trunc_f64_s - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $1 + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 + return end + local.get $2 + local.set $3 + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $3 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 255 + i32.and + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $3 + local.get $0 + local.set $6 + local.get $1 + i32.const 255 + i32.and + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 ) - (func $std/array/isSorted (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 1 + local.get $0 + i32.load offset=4 local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length + i32.load offset=12 local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - call $~lib/array/Array#__get - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.const 0 + drop i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinIntegerArray + return ) - (func $std/array/assertSorted (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + (local $3 i32) local.get $0 + i32.load offset=4 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop local.get $2 + local.get $3 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + return + ) + (func $~lib/array/Array<~lib/array/Array>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add local.get $2 - i32.store offset=12 + i32.store + i32.const 1 + drop + local.get $0 local.get $2 - call $~lib/array/Array#sort - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add local.get $2 i32.store + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop local.get $2 + local.get $3 local.get $1 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + return + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 local.set $2 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + return + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add local.get $2 - i32.store offset=4 + i32.store + i32.const 1 + drop + local.get $0 local.get $2 - call $std/array/isSorted - i32.eqz + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/rt/itcms/__collect + (local $0 i32) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state i32.const 0 - i32.const 528 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end end - global.get $~lib/memory/__stack_pointer - i32.const 16 + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 i32.add - global.set $~lib/memory/__stack_pointer + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop ) - (func $std/array/assertSortedDefault (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 i32.store + local.get $0 local.get $1 - block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) - i32.const 1 - drop - i32.const 1 - if (result i32) - i32.const 4 - i32.const 4 - i32.le_u - else - i32.const 0 - end - drop - i32.const 7312 - br $~lib/util/sort/COMPARATOR|inlined.1 - end - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 local.get $1 i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 ) - (func $~lib/array/Array<~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#get:buffer (param $0 i32) (result i32) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array<~lib/array/Array>#set:length_ - end + i32.load + ) + (func $~lib/array/Array#get:dataStart (param $0 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - call $~lib/array/Array<~lib/array/Array>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load offset=4 ) - (func $std/array/createReverseOrderedNestedArray (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 + (func $~lib/array/Array#get:byteLength (param $0 i32) (result i32) local.get $0 - call $~lib/array/Array<~lib/array/Array>#constructor - local.tee $1 - i32.store - i32.const 0 - local.set $2 - loop $for-loop|0 - local.get $2 - local.get $0 - i32.lt_s - local.set $3 - local.get $3 - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 1 - call $~lib/array/Array#constructor - local.tee $4 - i32.store offset=4 - local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - i32.const 0 - local.get $0 - i32.const 1 - i32.sub - local.get $2 - i32.sub - call $~lib/array/Array#__set - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $2 - local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $5 - call $~lib/array/Array<~lib/array/Array>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + i32.load offset=8 + ) + (func $~lib/array/Array#get:length_ (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 ) - (func $start:std/array~anonymous|47 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/array/Array#__get local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/array/Array#__get - i32.sub - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 i32.const 0 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 loop $for-loop|0 + local.get $2 local.get $3 - local.get $1 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if - global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + i32.load offset=4 + local.get $2 i32.const 2 i32.shl i32.add i32.load - local.tee $5 - i32.store - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $8 - i32.store offset=4 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end + local.get $2 local.get $0 - local.get $6 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.le_s - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $0 - i32.load offset=4 - local.set $3 - local.get $2 - i32.const 2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load - local.tee $5 - i32.store offset=4 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store i32.const 1 - drop - local.get $6 - local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - call $~lib/util/sort/insertionSort<~lib/array/Array> - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 ) - (func $std/array/isSorted<~lib/array/Array> (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - i32.const 1 local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array<~lib/array/Array>#get:length + i32.load offset=12 local.set $3 loop $for-loop|0 local.get $2 local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/array/Array>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 + i32.load offset=4 local.get $2 - call $~lib/array/Array<~lib/array/Array>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 2 + i32.shl + i32.add + i32.load + local.get $2 + local.get $0 + i32.const 3 global.set $~argumentsLength local.get $1 i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + call_indirect (type $i32_i32_i32_=>_i32) if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 return end local.get $2 @@ -17398,76 +13041,30 @@ br $for-loop|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const -1 + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + i32.load ) - (func $std/array/assertSorted<~lib/array/Array> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + i32.load offset=4 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $2 - call $~lib/array/Array<~lib/array/Array>#sort - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.shl + i32.add local.get $2 i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $std/array/isSorted<~lib/array/Array> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 + drop ) - (func $~lib/array/Array>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -17494,409 +13091,424 @@ local.get $1 i32.const 1 i32.add - call $~lib/array/Array>#set:length_ + call $~lib/array/Array#set:length_ end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 125 + i32.const 33 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 + i32.const 0 + drop local.get $3 - call $~lib/array/Array>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/array/createReverseOrderedElementsArray (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=12 + local.set $3 + local.get $3 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.eq + if (result i32) + i32.const 1 + else + local.get $2 + local.get $3 + i32.ge_s + end + if + i32.const -1 + return + end + local.get $2 i32.const 0 + i32.lt_s + if + local.get $3 + local.get $2 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $2 + end local.get $0 - call $~lib/array/Array>#constructor - local.tee $1 - i32.store - i32.const 0 - local.set $2 - loop $for-loop|0 + i32.load offset=4 + local.set $6 + loop $while-continue|0 local.get $2 - local.get $0 - i32.lt_s - local.set $3 local.get $3 + i32.lt_s + local.set $4 + local.get $4 if - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $2 - i32.const 0 - local.get $0 - i32.const 1 - i32.sub + local.get $6 local.get $2 - i32.sub - call $std/array/Proxy#constructor - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/array/Array>#__set + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.eq + if + local.get $2 + return + end local.get $2 i32.const 1 i32.add local.set $2 - br $for-loop|0 + br $while-continue|0 end end + i32.const -1 + ) + (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + drop + local.get $0 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s + return ) - (func $~lib/util/sort/insertionSort> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - i32.const 0 + local.get $0 + i32.load offset=12 local.set $3 - loop $for-loop|0 + local.get $3 + i32.const 0 + i32.eq + if + i32.const -1 + return + end + local.get $2 + i32.const 0 + i32.lt_s + if local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 + local.get $2 + i32.add + local.set $2 + else + local.get $2 + local.get $3 + i32.ge_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $5 - i32.store local.get $3 i32.const 1 i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $8 - i32.store offset=4 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.add + local.set $2 + end + end + local.get $0 + i32.load offset=4 + local.set $4 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + local.set $5 + local.get $5 + if + local.get $4 + local.get $2 i32.const 2 i32.shl i32.add - local.get $5 - i32.store - local.get $3 + i32.load + local.get $1 + i32.eq + if + local.get $2 + return + end + local.get $2 i32.const 1 - i32.add - local.set $3 - br $for-loop|0 + i32.sub + local.set $2 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const -1 + ) + (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.add + local.set $3 + local.get $0 + local.get $3 + i32.const 2 + call $~lib/array/ensureSize + i32.const 0 + drop + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $0 + local.get $3 + call $~lib/array/Array#set:length_ + local.get $3 ) - (func $~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + i32.load offset=4 + local.set $4 local.get $0 i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.le_s - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + local.set $5 + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $1 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - return + local.get $6 + i32.gt_s + select + else + local.get $1 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select end - local.get $0 - i32.load offset=4 - local.set $3 + local.set $8 local.get $2 - i32.const 2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load - local.tee $5 - i32.store offset=4 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 + i32.const 0 + i32.lt_s + if (result i32) local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.add + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - i32.store offset=12 + local.get $6 + i32.gt_s + select + else + local.get $2 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 i32.lt_s - if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + select + end + local.set $9 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $3 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - return + local.get $6 + i32.gt_s + select + else + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store - i32.const 1 - drop - local.get $6 + local.set $10 + local.get $10 + local.get $9 + i32.sub + local.tee $7 local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + local.get $8 + i32.sub + local.tee $6 local.get $7 - call $~lib/util/sort/insertionSort> - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $6 + i32.lt_s + select + local.set $11 + local.get $4 + local.get $8 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $0 ) - (func $std/array/isSorted> (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#pop (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 + i32.const 1 + i32.lt_s + if + i32.const 1152 + i32.const 80 + i32.const 269 + i32.const 21 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $2 + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $2 + ) + (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) i32.const 0 - i32.store offset=8 - i32.const 1 local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array>#get:length + i32.load offset=12 local.set $3 loop $for-loop|0 local.get $2 local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 + i32.load offset=4 local.get $2 - call $~lib/array/Array>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 2 + i32.shl + i32.add + i32.load + local.get $2 + local.get $0 + i32.const 3 global.set $~argumentsLength local.get $1 i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end + call_indirect (type $i32_i32_i32_=>_none) local.get $2 i32.const 1 i32.add @@ -17904,380 +13516,361 @@ br $for-loop|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 ) - (func $std/array/assertSorted> (param $0 i32) (param $1 i32) + (func $~lib/array/Array#shift (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + (local $3 i32) + (local $4 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + i32.load offset=12 + local.set $1 local.get $1 + i32.const 1 + i32.lt_s + if + i32.const 1152 + i32.const 80 + i32.const 328 + i32.const 21 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $2 - call $~lib/array/Array>#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store local.get $2 + i32.load + local.set $3 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.sub + local.set $4 local.get $2 - i32.store offset=4 local.get $2 - call $std/array/isSorted> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + i32.const 0 + drop + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.const 0 + i32.store + local.get $0 + local.get $4 + call $~lib/array/Array#set:length_ + local.get $3 ) - (func $~lib/util/sort/insertionSort<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 i32.const 0 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $5 - i32.store - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $8 - i32.store offset=4 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end + loop $for-loop|0 + local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + local.set $4 + local.get $4 + if local.get $0 - local.get $6 - i32.const 1 - i32.add + i32.load offset=4 + local.get $2 i32.const 2 i32.shl i32.add - local.get $5 - i32.store - local.get $3 + i32.load + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + return + end + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/array/Array<~lib/string/String|null>#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 local.get $0 i32.load offset=12 + i32.const 1 + i32.add local.set $2 + local.get $0 + local.get $2 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + i32.load offset=4 + local.set $3 + local.get $3 + i32.const 4 + i32.add + local.get $3 local.get $2 i32.const 1 - i32.le_s + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $1 + i32.store + i32.const 0 + drop + local.get $0 + local.get $2 + call $~lib/array/Array#set:length_ + local.get $2 + ) + (func $~lib/array/Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.sub + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $2 + local.get $3 + i32.load + i32.store + local.get $3 + local.get $5 + i32.store + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $3 + i32.const 4 + i32.sub + local.set $3 + br $while-continue|0 + end + end end local.get $0 + ) + (func $~lib/array/Array#flat (param $0 i32) (result i32) + i32.const 0 + i32.eqz + drop + i32.const 13584 + i32.const 80 + i32.const 470 + i32.const 7 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#get:buffer (param $0 i32) (result i32) + local.get $0 + i32.load + ) + (func $~lib/array/Array#get:dataStart (param $0 i32) (result i32) + local.get $0 i32.load offset=4 + ) + (func $~lib/array/Array#get:byteLength (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + ) + (func $~lib/array/Array#get:length_ (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 - local.get $2 - i32.const 2 - i32.eq - if - global.get $~lib/memory/__stack_pointer + loop $for-loop|0 + local.get $2 local.get $3 - i32.load offset=4 local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load - local.tee $5 - i32.store offset=4 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s + local.set $4 + local.get $4 if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return end - local.get $3 - local.set $6 - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store i32.const 1 - drop - local.get $6 - local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - call $~lib/util/sort/insertionSort<~lib/string/String|null> - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 ) - (func $std/array/isSorted<~lib/string/String|null> (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - i32.const 1 local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array<~lib/string/String|null>#get:length + i32.load offset=12 local.set $3 loop $for-loop|0 local.get $2 local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 + i32.load offset=4 local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u local.get $2 - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - i32.const 2 + local.get $0 + i32.const 3 global.set $~argumentsLength local.get $1 i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + call_indirect (type $i32_i32_i32_=>_i32) if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $2 return end local.get $2 @@ -18287,3090 +13880,3231 @@ br $for-loop|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const -1 + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + i32.load8_u ) - (func $std/array/assertSorted<~lib/string/String|null> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + i32.load offset=4 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.shl + i32.add local.get $2 - i32.store offset=12 + i32.store8 + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 local.get $2 - call $~lib/array/Array<~lib/string/String|null>#sort + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $2 - i32.store offset=4 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 local.get $2 - call $std/array/isSorted<~lib/string/String|null> - i32.eqz + i32.ge_u if - i32.const 0 - i32.const 528 - i32.const 942 - i32.const 3 + i32.const 320 + i32.const 80 + i32.const 125 + i32.const 33 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.load8_u + local.set $3 + i32.const 0 + drop + local.get $3 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - local.get $1 + i32.load offset=12 + local.set $3 + local.get $3 + i32.const 0 i32.eq if (result i32) i32.const 1 else - local.get $0 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $3 - local.get $2 - local.get $3 - i32.or - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.get $2 + local.get $3 + i32.ge_s end - local.get $2 - i32.eqz if i32.const -1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end - local.get $3 - i32.eqz + local.get $2 + i32.const 0 + i32.lt_s if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $2 end local.get $0 + i32.load offset=4 local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 0 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $4 - local.get $4 - if (result i32) - local.get $4 - else + loop $while-continue|0 local.get $2 local.get $3 - i32.sub + i32.lt_s + local.set $4 + local.get $4 + if + local.get $6 + local.get $2 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $1 + i32.const 255 + i32.and + i32.eq + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 + end end - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.const -1 ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + drop local.get $0 local.get $1 + local.get $2 + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s + return + ) + (func $~lib/array/Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=12 + local.set $3 + local.get $3 + i32.const 0 i32.eq if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + i32.const -1 return end - local.get $0 + local.get $2 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end + i32.lt_s if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer + local.set $2 + else + local.get $2 local.get $3 - return + i32.ge_s + if + local.get $3 + i32.const 1 + i32.sub + local.set $2 + end + end + local.get $0 + i32.load offset=4 + local.set $4 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + local.set $5 + local.get $5 + if + local.get $4 + local.get $2 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $1 + i32.const 255 + i32.and + i32.eq + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end end + i32.const -1 + ) + (func $~lib/array/Array#push (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length + i32.load offset=12 local.set $2 local.get $2 - local.get $1 + i32.const 1 + i32.add local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store local.get $3 i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + call $~lib/array/ensureSize i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + drop local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.load offset=4 local.get $2 - call $~lib/string/String.__eq - i32.eqz - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 + i32.store8 + local.get $0 + local.get $3 + call $~lib/array/Array#set:length_ + local.get $3 ) - (func $std/array/isArraysEqual<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $~lib/array/Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $5 + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $3 + local.get $1 i32.const 0 - i32.store offset=8 - local.get $2 - i32.eqz - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.lt_s + if (result i32) local.get $5 - i32.store + local.get $1 + i32.add + local.tee $7 + i32.const 0 + local.tee $6 + local.get $7 + local.get $6 + i32.gt_s + select + else + local.get $1 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $8 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) local.get $5 - call $~lib/array/Array<~lib/string/String|null>#get:length - local.set $2 local.get $2 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.add + local.tee $7 + i32.const 0 + local.tee $6 + local.get $7 + local.get $6 + i32.gt_s + select + else + local.get $2 + local.tee $6 local.get $5 - i32.store + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $9 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) local.get $5 - call $~lib/array/Array<~lib/string/String|null>#get:length - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $6 + local.get $7 + local.get $6 + i32.gt_s + select + else + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $10 + local.get $10 + local.get $9 + i32.sub + local.tee $7 + local.get $5 + local.get $8 + i32.sub + local.tee $6 + local.get $7 + local.get $6 + i32.lt_s + select + local.set $11 + local.get $4 + local.get $8 + i32.const 0 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.const 0 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + ) + (func $~lib/array/Array#pop (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 + i32.const 1 + i32.lt_s + if + i32.const 1152 + i32.const 80 + i32.const 269 + i32.const 21 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.sub + local.tee $1 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $2 + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $2 + ) + (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) i32.const 0 + local.set $2 + local.get $0 + i32.load offset=12 local.set $3 loop $for-loop|0 - local.get $3 local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select i32.lt_s local.set $4 local.get $4 if + local.get $0 + i32.load offset=4 + local.get $2 i32.const 0 - drop + i32.shl + i32.add + i32.load8_u + local.get $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $3 - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 + i32.const 3 + global.set $~argumentsLength local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $3 - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/string/String.__ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 ) - (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#shift (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 + (local $4 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ge_u + i32.load offset=12 + local.set $1 + local.get $1 + i32.const 1 + i32.lt_s if - i32.const 7728 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 1152 + i32.const 80 + i32.const 328 + i32.const 21 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + i32.load8_u + local.set $3 local.get $1 i32.const 1 - i32.shl + i32.sub + local.set $4 + local.get $2 + local.get $2 + i32.const 1 i32.add - i32.load16_u - i32.store16 + local.get $4 + i32.const 0 + i32.shl + call $~lib/memory/memory.copy + i32.const 0 + drop local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $4 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 + i32.store8 + local.get $0 + local.get $4 + call $~lib/array/Array#set:length_ local.get $3 ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 7888 - local.tee $1 - i32.store + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + local.tee $4 + local.get $0 + i32.load offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $2 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end + i32.const 0 + ) + (func $~lib/array/Array#unshift (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length + i32.load offset=12 i32.const 1 - i32.shl + i32.add local.set $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 + local.get $0 local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 i32.const 0 - i32.eq - if - i32.const 7728 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - local.get $5 + call $~lib/array/ensureSize local.get $0 - local.get $2 - call $~lib/memory/memory.copy - local.get $5 - local.get $2 - i32.add - local.get $1 + i32.load offset=4 + local.set $3 local.get $3 - call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + local.get $2 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.const 7888 - local.get $0 i32.const 0 - i32.ne - select - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.store8 + i32.const 0 + drop + local.get $0 local.get $2 - call $~lib/string/String#concat - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#set:length_ local.get $2 ) - (func $std/array/createRandomString (param $0 i32) (result i32) + (func $~lib/array/Array#reverse (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 f64) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load offset=12 + local.set $1 + local.get $1 + if + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load8_u + local.set $5 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + local.get $3 + local.get $5 + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|0 + end + end + end + local.get $0 + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $8 + i32.store8 + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.add + i32.const 0 + i32.shl + i32.add + local.get $5 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 7728 - local.tee $1 - i32.store + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 i32.const 0 - local.set $2 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 loop $for-loop|0 - local.get $2 - local.get $0 - i32.lt_s - local.set $3 - local.get $3 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 if - global.get $~lib/memory/__stack_pointer - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer local.get $5 - i32.store offset=4 - local.get $5 - global.get $std/array/charset - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $0 local.get $5 - i32.store offset=12 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $5 + i32.const 0 + i32.shl + i32.add + local.get $9 + i32.store8 + local.get $0 + local.get $8 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + end local.get $5 - call $~lib/math/NativeMath.random - global.get $std/array/charset + i32.const 1 + i32.sub local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=16 + br $for-loop|0 + end + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 + i32.const 2 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load8_u + local.set $10 + local.get $0 + local.get $0 local.get $5 - call $~lib/string/String#get:length - f64.convert_i32_s - f64.mul - local.set $4 - local.get $4 - f64.floor - i32.trunc_f64_s - call $~lib/string/String#charAt - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.shl + i32.add + i32.load8_u + i32.store8 + local.get $0 local.get $5 - i32.store offset=8 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + i32.const 1 + local.set $9 + loop $while-continue|3 + local.get $9 + i32.const 1 + i32.shl + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $9 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $8 + local.get $5 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $8 + local.set $9 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $9 + i32.const 0 + i32.gt_s + local.set $7 + local.get $7 + if + local.get $0 + i32.load8_u + local.set $10 + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $11 + local.get $10 + local.get $11 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 1 + local.get $9 + i32.const 31 + i32.and + i32.shl + i32.xor + i32.store + local.get $0 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $10 + i32.store8 + local.get $0 + local.get $11 + i32.store8 + end + local.get $9 + i32.const 1 + i32.shr_s + local.set $9 + br $while-continue|4 + end + end local.get $5 - call $~lib/string/String.__concat - local.tee $1 - i32.store - local.get $2 i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.sub + local.set $5 + br $for-loop|2 end end - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + i32.load8_u offset=1 + local.set $12 + local.get $0 + local.get $0 + i32.load8_u + i32.store8 offset=1 + local.get $0 + local.get $12 + i32.store8 ) - (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 + (local $4 i32) + (local $5 i32) + (local $6 i32) local.get $0 i32.load offset=12 - i32.ge_u + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + return + end + local.get $0 + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq if + local.get $3 + i32.load8_u offset=1 + local.set $4 + local.get $3 + i32.load8_u + local.set $5 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) i32.const 0 i32.lt_s if - i32.const 320 - i32.const 80 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $5 + i32.store8 offset=1 + local.get $3 + local.get $4 + i32.store8 end local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ + return end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store - local.get $3 - local.get $1 + local.set $6 local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $5 + local.get $1 + local.set $4 + i32.const 0 + drop + local.get $5 + i32.const 256 + i32.lt_s + if + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/insertionSort + else + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/weakHeapSort + end + local.get $0 ) - (func $std/array/createRandomStringArray (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (func $~lib/array/Array#flat (param $0 i32) (result i32) i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.eqz + drop + i32.const 13584 + i32.const 80 + i32.const 470 + i32.const 7 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/string/String>#get:buffer (param $0 i32) (result i32) + local.get $0 + i32.load + ) + (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + ) + (func $~lib/array/Array<~lib/string/String>#get:byteLength (param $0 i32) (result i32) + local.get $0 + i32.load offset=8 + ) + (func $~lib/array/Array<~lib/string/String>#get:length_ (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#set:length (param $0 i32) (param $1 i32) local.get $0 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $1 - i32.store - i32.const 0 - local.set $2 - loop $for-loop|0 - local.get $2 - local.get $0 - i32.lt_s - local.set $3 - local.get $3 - if - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $2 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_f64_s - call $std/array/createRandomString - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#set:length_ + ) + (func $~lib/array/Array<~lib/string/String>#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + i32.load ) - (func $~lib/util/sort/insertionSort<~lib/string/String> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $~lib/array/Array<~lib/string/String>#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $5 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $2 + i32.add + local.tee $6 + i32.const 0 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + else + local.get $2 + local.tee $7 + local.get $5 + local.tee $6 + local.get $7 + local.get $6 + i32.lt_s + select + end + local.set $2 + local.get $3 i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $3 + i32.add + local.tee $6 + i32.const 0 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + else + local.get $3 + local.tee $7 + local.get $5 + local.tee $6 + local.get $7 + local.get $6 + i32.lt_s + select + end local.set $3 + i32.const 1 + drop loop $for-loop|0 + local.get $2 local.get $3 - local.get $1 i32.lt_s - local.set $4 - local.get $4 + local.set $7 + local.get $7 if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 + local.get $4 + local.get $2 i32.const 2 i32.shl i32.add - i32.load - local.tee $5 + local.get $1 i32.store - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $8 - i32.store offset=4 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - local.get $8 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end local.get $0 - local.get $6 + local.get $1 i32.const 1 - i32.add - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store - local.get $3 + call $~lib/rt/itcms/__link + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + drop + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#indexOf + i32.const 0 + i32.ge_s + return + ) + (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 local.get $0 i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.le_s - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + local.set $2 + local.get $2 + i32.const 1 + i32.add + local.set $3 + local.get $0 + local.get $3 + i32.const 2 + call $~lib/array/ensureSize + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $3 + ) + (func $~lib/array/Array<~lib/string/String>#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=12 + local.set $5 + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $1 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - return + local.get $6 + i32.gt_s + select + else + local.get $1 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select end - local.get $0 - i32.load offset=4 - local.set $3 + local.set $8 local.get $2 - i32.const 2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load - local.tee $5 - i32.store offset=4 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 + i32.const 0 + i32.lt_s + if (result i32) local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.add + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - i32.store offset=12 + local.get $6 + i32.gt_s + select + else + local.get $2 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 i32.lt_s - if - local.get $3 - local.get $5 - i32.store offset=4 - local.get $3 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 + select + end + local.set $9 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $5 + local.get $3 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + local.tee $6 local.get $7 - return + local.get $6 + i32.gt_s + select + else + local.get $3 + local.tee $6 + local.get $5 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select end + local.set $10 + local.get $10 + local.get $9 + i32.sub + local.tee $7 + local.get $5 + local.get $8 + i32.sub + local.tee $6 + local.get $7 + local.get $6 + i32.lt_s + select + local.set $11 + local.get $4 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#unshift (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 + i32.const 1 + i32.add + local.set $2 + local.get $0 + local.get $2 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + i32.load offset=4 + local.set $3 + local.get $3 + i32.const 4 + i32.add local.get $3 - local.set $6 local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 local.get $1 - local.tee $4 i32.store i32.const 1 drop - local.get $6 - local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - call $~lib/util/sort/insertionSort<~lib/string/String> local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $2 + ) + (func $~lib/array/Array<~lib/string/String>#join (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=12 + local.set $3 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 1 + drop + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/string/joinStringArray + return + ) + (func $~lib/array/Array<~lib/string/String>#flat (param $0 i32) (result i32) + i32.const 0 + i32.eqz + drop + i32.const 13584 + i32.const 80 + i32.const 470 + i32.const 7 + call $~lib/builtins/abort + unreachable ) - (func $std/array/isSorted<~lib/string/String> (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 i32.const 1 + drop + local.get $0 + i32.load offset=4 local.set $2 + local.get $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array<~lib/string/String>#get:length + i32.load offset=12 + i32.const 2 + i32.shl + i32.add local.set $3 - loop $for-loop|0 + loop $while-continue|0 local.get $2 local.get $3 - i32.lt_s + i32.lt_u local.set $4 local.get $4 if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/string/String>#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 local.get $2 - call $~lib/array/Array<~lib/string/String>#__get + i32.load local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 local.get $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer local.get $5 - return + local.get $1 + call $~lib/rt/itcms/__visit end local.get $2 - i32.const 1 + i32.const 4 i32.add local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $std/array/assertSorted<~lib/string/String> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - local.get $2 - call $~lib/array/Array<~lib/string/String>#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 + i32.load local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $std/array/isSorted<~lib/string/String> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 942 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__visit ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if + (func $std/array/ArrayU32#constructor@varargs (param $0 i32) (param $1 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.set $1 end local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $2 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $3 - local.get $2 - local.get $3 - i32.or - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.eqz - if - i32.const -1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $3 - i32.eqz - if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + call $std/array/ArrayU32#constructor + ) + (func $~lib/array/Array#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 end local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 0 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 local.get $2 - local.tee $4 local.get $3 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $4 - local.get $4 - if (result i32) - local.get $4 - else - local.get $2 - local.get $3 - i32.sub - end - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + call $~lib/array/Array#fill ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 - i32.eqz - if - i32.const 7728 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $8 - i32.eqz - if (result i32) - local.get $9 - local.get $3 - i32.const 1 - i32.shl - i32.eq - else + call $~lib/array/Array#includes + ) + (func $~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end i32.const 0 + local.set $2 end - if + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#indexOf + ) + (func $~lib/array/Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.load offset=12 + local.set $2 end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 local.get $0 - local.get $8 - i32.add - local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $~lib/util/string/joinBooleanArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + local.get $2 + call $~lib/array/Array#lastIndexOf + ) + (func $~lib/array/Array#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 end + local.get $0 + local.get $1 + local.get $2 local.get $3 - i32.eqz - if - i32.const 7984 - i32.const 8016 - local.get $0 - i32.load8_u - select - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + call $~lib/array/Array#copyWithin + ) + (func $~lib/array/Array#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 end + local.get $0 + local.get $1 local.get $2 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store - local.get $13 - call $~lib/string/String#get:length - local.set $4 - i32.const 5 - local.set $5 - local.get $5 - local.get $4 - i32.add - local.get $3 - i32.mul - local.get $5 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $10 - loop $for-loop|1 - local.get $10 - local.get $3 - i32.lt_s - local.set $12 - local.get $12 - if - local.get $0 - local.get $10 - i32.add - i32.load8_u - local.set $9 - i32.const 4 - local.get $9 - i32.eqz - i32.add - local.set $5 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - i32.const 7984 - i32.const 8016 - local.get $9 - select - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - local.get $4 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 + call $~lib/array/Array#slice + ) + (func $~lib/array/Array#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $4 - i32.add - local.set $8 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|1 + unreachable end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 end local.get $0 - local.get $3 - i32.add - i32.load8_u - local.set $9 - i32.const 4 - local.get $9 - i32.eqz - i32.add - local.set $5 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - i32.const 7984 - i32.const 8016 - local.get $9 - select - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store - local.get $13 + local.get $1 + local.get $2 + call $~lib/array/Array#splice + ) + (func $std/array/ArrayU8#constructor@varargs (param $0 i32) (param $1 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + local.set $1 end - local.get $7 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 + local.get $0 + local.get $1 + call $std/array/ArrayU8#constructor ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 + end local.get $0 - i32.load offset=4 - local.set $2 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#fill + ) + (func $~lib/array/Array#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end local.get $0 - i32.load offset=12 - local.set $3 - i32.const 1 - drop + local.get $1 local.get $2 - local.get $3 + call $~lib/array/Array#includes + ) + (func $~lib/array/Array#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + local.get $0 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinBooleanArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $2 + call $~lib/array/Array#indexOf ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=12 + local.set $2 + end + local.get $0 local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.get $2 + call $~lib/array/Array#lastIndexOf + ) + (func $~lib/array/Array#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 end + local.get $0 + local.get $1 + local.get $2 local.get $3 - i32.eqz - if - local.get $0 - i32.load - local.set $4 - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + call $~lib/array/Array#copyWithin + ) + (func $~lib/array/Array#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 end + local.get $0 + local.get $1 local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 11 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 11 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 + call $~lib/array/Array#slice + ) + (func $~lib/array/Array#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#splice + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.gt_u + local.get $0 + i32.const 255 + i32.and + local.get $1 + i32.const 255 + i32.and + i32.lt_u + i32.sub + ) + (func $std/array/ArrayStr#constructor@varargs (param $0 i32) (param $1 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + unreachable + end + i32.const 0 + local.set $1 + end + local.get $0 + local.get $1 + call $std/array/ArrayStr#constructor + ) + (func $~lib/array/Array<~lib/string/String>#fill@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 end local.get $0 + local.get $1 + local.get $2 local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 + call $~lib/array/Array<~lib/string/String>#fill + ) + (func $~lib/array/Array<~lib/string/String>#includes@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.set $2 end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#includes ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array<~lib/string/String>#indexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end local.get $0 - i32.load offset=4 - local.set $2 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#indexOf + ) + (func $~lib/array/Array<~lib/string/String>#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=12 + local.set $2 + end local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 1 - drop + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#lastIndexOf + ) + (func $~lib/array/Array<~lib/string/String>#copyWithin@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $3 + end + local.get $0 + local.get $1 local.get $2 local.get $3 + call $~lib/array/Array<~lib/string/String>#copyWithin + ) + (func $~lib/array/Array<~lib/string/String>#slice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 + end + local.get $0 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $2 + call $~lib/array/Array<~lib/string/String>#slice ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#splice@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#splice + ) + (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|1 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $0 local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s + i32.eq + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 0 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end if - i32.const 7728 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 + i32.const 0 return end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + call $~lib/string/String#get:length + local.set $3 + local.get $2 local.get $3 + i32.or i32.eqz if - local.get $0 - i32.load - local.set $4 i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 return end local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add + i32.eqz + if + i32.const -1 + return + end local.get $3 - i32.mul - i32.const 10 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 + i32.eqz + if + i32.const 1 + return + end + local.get $0 i32.const 0 - local.set $8 + local.get $1 i32.const 0 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl local.set $4 - loop $for-loop|0 + local.get $4 + if (result i32) local.get $4 + else + local.get $2 local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.sub end + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $std/array/arr + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/array/charset + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 320 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 13584 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 1152 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 4672 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 128 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 8784 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 9840 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + local.tee $2 if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.store + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 1 + drop local.get $0 i32.load offset=4 local.set $2 + local.get $2 local.get $0 i32.load offset=12 + i32.const 2 + i32.shl + i32.add local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 drop - i32.const 1 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 drop - local.get $2 - local.get $3 + local.get $0 + i32.load local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + call $~lib/rt/itcms/__visit ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 - i32.eqz - if - local.get $0 - f64.load - call $~lib/util/number/dtoa - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end + drop + local.get $0 + i32.load offset=4 + local.set $2 local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $4 - i32.const 28 - local.get $4 - i32.add - local.get $3 - i32.mul - i32.const 28 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 + local.get $0 + i32.load offset=12 + i32.const 2 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=4 - i32.const 0 - local.set $7 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 local.get $3 - i32.lt_s - local.set $10 - local.get $10 + i32.lt_u + local.set $4 + local.get $4 if - local.get $0 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $4 + local.get $2 + i32.load + local.set $5 + local.get $5 if - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.get $4 - i32.add - local.set $7 + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $5 - local.get $7 - i32.gt_s - if - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 0 - local.get $7 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end end - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (param $0 i32) (param $1 i32) local.get $0 i32.load offset=4 - local.set $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinFloatArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit ) - (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit + ) + (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $1 i32.const 1 - i32.sub + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $4 - i32.store - local.get $4 - if (result i32) - local.get $4 - else - i32.const 7728 - end - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - i32.const 0 - local.set $5 - i32.const 0 - local.set $4 - loop $for-loop|0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 local.get $4 - local.get $1 - i32.lt_s - local.set $7 - local.get $7 if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add + local.get $2 i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.ne + local.set $5 + local.get $5 if local.get $5 - local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/string/String#get:length - i32.add - local.set $5 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $4 - i32.const 1 + local.get $2 + i32.const 4 i32.add - local.set $4 - br $for-loop|0 + local.set $2 + br $while-continue|0 end end - i32.const 0 - local.set $8 - local.get $2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/string/String#get:length - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $5 - local.get $9 - local.get $3 - i32.mul - i32.add + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit + ) + (func $~lib/array/Array>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 + i32.const 2 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store offset=12 - i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 local.get $3 - i32.lt_s - local.set $7 - local.get $7 + i32.lt_u + local.set $4 + local.get $4 if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add + local.get $2 i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.ne - if - local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/string/String#get:length - local.set $11 - local.get $10 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $11 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $11 - i32.add - local.set $8 - end - local.get $9 + local.set $5 + local.get $5 if - local.get $10 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $9 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $9 - i32.add - local.set $8 + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $4 - i32.const 1 + local.get $2 + i32.const 4 i32.add - local.set $4 - br $for-loop|1 + local.set $2 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array>#__visit + ) + (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit + ) + (func $~lib/array/Array<~lib/string/String|null>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 i32.const 2 i32.shl i32.add - i32.load - local.tee $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.ne - if - local.get $10 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end end - local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/string/String|null>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>#__visit + ) + (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit ) - (func $~lib/array/Array<~lib/string/String|null>#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit (param $0 i32) (param $1 i32) local.get $0 i32.load offset=4 - local.set $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - local.set $3 + local.get $1 + call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.const 1 - i32.lt_s drop - i32.const 1 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 drop - local.get $2 - local.get $3 + local.get $0 + i32.load local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinStringArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + call $~lib/rt/itcms/__visit ) - (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - local.get $1 i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne - if (result i32) - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $std/array/Ref#toString - else - i32.const 7728 - end - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 7728 - local.tee $5 - i32.store offset=8 + drop + local.get $0 + i32.load offset=4 + local.set $2 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/string/String#get:length - local.set $6 - i32.const 0 - local.set $7 - loop $for-loop|0 - local.get $7 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 local.get $3 - i32.lt_s - local.set $8 - local.get $8 + i32.lt_u + local.set $4 + local.get $4 if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add + local.get $2 i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - call $std/array/Ref#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 - end - local.get $6 + local.set $5 + local.get $5 if - global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $7 - i32.const 1 + local.get $2 + i32.const 4 i32.add - local.set $7 - br $for-loop|0 + local.set $2 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - local.get $3 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 i32.const 2 i32.shl i32.add - i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - call $std/array/Ref#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end end - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (local $5 i32) + i32.const 1 + drop local.get $0 i32.load offset=4 local.set $2 + local.get $2 local.get $0 i32.load offset=12 + i32.const 2 + i32.shl + i32.add local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.load local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + call $~lib/rt/itcms/__visit ) - (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $2 + i32.load + local.set $5 + local.get $5 + if + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit + ) + (func $std/array/ArrayU32~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array~visit + ) + (func $std/array/ArrayU8~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array~visit + ) + (func $std/array/ArrayStr~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/function/Function<%28u8%2Cu8%29=>i32> + block $std/array/ArrayStr + block $std/array/ArrayU8 + block $std/array/ArrayU32 + block $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> + block $~lib/array/Array<~lib/array/Array<~lib/array/Array>> + block $~lib/array/Array<~lib/array/Array> + block $~lib/array/Array<~lib/array/Array> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> + block $~lib/array/Array<~lib/string/String> + block $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> + block $~lib/array/Array<~lib/string/String|null> + block $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> + block $~lib/array/Array> + block $std/array/Proxy + block $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> + block $~lib/array/Array<~lib/array/Array> + block $~lib/function/Function<%28u32%2Cu32%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%29=>i32> + block $~lib/function/Function<%28f64%2Cf64%29=>i32> + block $~lib/function/Function<%28f32%2Cf32%29=>i32> + block $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> + block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/typedarray/Uint8Array + block $std/array/Ref + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $std/array/Ref $~lib/typedarray/Uint8Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28f32%2Cf32%29=>i32> $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/array/Array<~lib/array/Array> $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> $std/array/Proxy $~lib/array/Array> $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> $~lib/array/Array<~lib/string/String|null> $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> $~lib/array/Array<~lib/string/String> $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array<~lib/array/Array>> $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> $std/array/ArrayU32 $std/array/ArrayU8 $std/array/ArrayStr $~lib/function/Function<%28u8%2Cu8%29=>i32> $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit + return + end + return + end + local.get $0 + local.get $1 + call $~lib/array/Array>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit + return + end + local.get $0 + local.get $1 + call $std/array/ArrayU32~visit + return + end + local.get $0 + local.get $1 + call $std/array/ArrayU8~visit + return + end + local.get $0 + local.get $1 + call $std/array/ArrayStr~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit return end - local.get $3 - i32.eqz + unreachable + ) + (func $~setArgumentsLength (param $0 i32) + local.get $0 + global.set $~argumentsLength + ) + (func $~start + global.get $~started if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne - if (result i32) - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $std/array/Ref#toString - else - i32.const 7728 - end - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 return end + i32.const 1 + global.set $~started + call $start:std/array + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 7728 - local.tee $5 - i32.store offset=8 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/string/String#get:length - local.set $6 - i32.const 0 - local.set $7 - loop $for-loop|0 - local.get $7 - local.get $3 - i32.lt_s - local.set $8 - local.get $8 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - call $std/array/Ref#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 - end - local.get $6 - if - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $4 - i32.store - local.get $4 - i32.const 0 - i32.ne + global.get $~lib/memory/__data_end + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - call $std/array/Ref#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - call $~lib/string/String.__concat - local.tee $5 - i32.store offset=8 + i32.const 30464 + i32.const 30512 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/assertSorted (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21380,82 +17114,71 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 local.get $1 - local.set $4 + call $~lib/array/Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray - local.set $4 + local.get $2 + local.get $1 + call $std/array/isSorted + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) + (func $std/array/assertSortedDefault (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 + block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) + i32.const 1 + drop + i32.const 1 + if (result i32) + i32.const 4 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 7312 + br $~lib/util/sort/COMPARATOR|inlined.1 + end local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 - i32.const 8048 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/array/Array#join - local.set $1 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isSorted<~lib/array/Array> (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21464,172 +17187,70 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 i32.const 1 - i32.sub + local.set $2 + local.get $0 + call $~lib/array/Array<~lib/array/Array>#get:length local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_s - local.set $4 - i32.const 1 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 11 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 11 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 loop $for-loop|0 - local.get $4 + local.get $2 local.get $3 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if local.get $0 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $2 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 + i32.sub + call $~lib/array/Array<~lib/array/Array>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $5 + i32.store offset=4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - local.get $7 - local.get $8 - i32.const 1 - i32.shl + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 + global.set $~lib/memory/__stack_pointer local.get $5 - i32.add - local.set $8 + return end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|0 end end - local.get $0 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $7 - local.set $11 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $5 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/assertSorted<~lib/array/Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21639,34 +17260,34 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 local.get $1 - local.set $4 + call $~lib/array/Array<~lib/array/Array>#sort + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 + local.get $2 + local.get $1 + call $std/array/isSorted<~lib/array/Array> + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) + (func $std/array/createReverseOrderedElementsArray (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21674,37 +17295,57 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 8048 - local.set $1 + i64.store global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + call $~lib/array/Array>#constructor + local.tee $1 + i32.store + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $0 + i32.lt_s + local.set $3 + local.get $3 + if + local.get $1 + local.get $2 + i32.const 0 + local.get $0 + i32.const 1 + i32.sub + local.get $2 + i32.sub + call $std/array/Proxy#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/array/Array>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/array/Array#join - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $4 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isSorted> (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21713,248 +17354,215 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 i32.const 1 - i32.sub + local.set $2 + local.get $0 + call $~lib/array/Array>#get:length local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 - i32.eqz - if - local.get $0 - i32.load16_u - local.set $4 - i32.const 0 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 loop $for-loop|0 - local.get $4 + local.get $2 local.get $3 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $2 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 + i32.sub + call $~lib/array/Array>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + local.get $0 + local.get $2 + call $~lib/array/Array>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $5 + i32.store offset=4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - local.get $7 - local.get $8 - i32.const 1 - i32.shl + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 + global.set $~lib/memory/__stack_pointer local.get $5 - i32.add - local.set $8 + return end - local.get $4 + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|0 end end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $std/array/assertSorted> (param $0 i32) (param $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $1 + call $~lib/array/Array>#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $1 + call $std/array/isSorted> + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 528 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/isSorted<~lib/string/String|null> (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.load offset=4 + i64.const 0 + i64.store + i32.const 1 local.set $2 local.get $0 - i32.load offset=12 + call $~lib/array/Array<~lib/string/String|null>#get:length local.set $3 - i32.const 0 - drop + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $2 + i32.const 1 + i32.sub + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $5 ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) - (local $1 i32) + (func $std/array/assertSorted<~lib/string/String|null> (param $0 i32) (param $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 i32.store + local.get $0 local.get $1 - i32.const 8048 - local.set $1 + call $~lib/array/Array<~lib/string/String|null>#sort + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/array/Array#join - local.set $1 + call $std/array/isSorted<~lib/string/String|null> + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/isArraysEqual<~lib/string/String|null> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21963,172 +17571,95 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $3 + local.get $2 i32.eqz if local.get $0 - i64.load - local.set $4 - i32.const 0 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + call $~lib/array/Array<~lib/string/String|null>#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>#get:length + i32.ne + if + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end end - local.get $2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $5 - i32.const 20 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 20 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 i32.const 0 - local.set $10 + local.set $3 loop $for-loop|0 - local.get $10 local.get $3 + local.get $2 i32.lt_s - local.set $11 - local.get $11 + local.set $4 + local.get $4 if + i32.const 0 + drop local.get $0 - local.get $10 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store local.get $5 + local.get $1 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + call $~lib/string/String.__ne if - local.get $7 - local.get $8 - i32.const 1 - i32.shl + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 + global.set $~lib/memory/__stack_pointer local.get $5 - i32.add - local.set $8 + return end - local.get $10 + local.get $3 i32.const 1 i32.add - local.set $10 + local.set $3 br $for-loop|0 end end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $7 - local.set $12 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $5 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22138,73 +17669,106 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 + i32.const 7888 local.get $0 - i32.load offset=12 - local.set $3 i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 + i32.ne + select + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 + local.get $2 + local.get $1 + call $~lib/string/String#concat + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $2 ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) + (func $std/array/createRandomString (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 8048 - local.set $1 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 7728 + local.tee $1 + i32.store + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $0 + i32.lt_s + local.set $3 + local.get $3 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + global.get $std/array/charset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + call $~lib/math/NativeMath.random + global.get $std/array/charset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + call $~lib/string/String#get:length + f64.convert_i32_s + f64.mul + local.set $4 + local.get $4 + f64.floor + i32.trunc_f64_s + call $~lib/string/String#charAt + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + call $~lib/string/String.__concat + local.tee $1 + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/array/Array#join - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $5 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/createRandomStringArray (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -22213,174 +17777,126 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 7728 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $3 - i32.eqz - if + local.get $0 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $1 + i32.store + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 local.get $0 - i64.load - local.set $4 - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.wrap_i64 - i64.extend_i32_s - i32.const 10 - call $~lib/util/number/itoa64 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.lt_s + local.set $3 + local.get $3 + if + local.get $1 + local.get $2 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_f64_s + call $std/array/createRandomString + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end - local.get $2 - local.set $12 + local.get $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $5 - i32.const 21 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 21 + i32.const 8 i32.add - local.set $6 + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $std/array/isSorted<~lib/string/String> (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $10 + local.set $2 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + local.set $3 loop $for-loop|0 - local.get $10 + local.get $2 local.get $3 i32.lt_s - local.set $11 - local.get $11 + local.set $4 + local.get $4 if local.get $0 - local.get $10 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $2 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 + i32.sub + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - local.get $7 - local.get $8 - i32.const 1 - i32.shl + i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 + global.set $~lib/memory/__stack_pointer local.get $5 - i32.add - local.set $8 + return end - local.get $10 + local.get $2 i32.const 1 i32.add - local.set $10 + local.set $2 br $for-loop|0 end end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s - if - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end - local.get $7 - local.set $12 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $5 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/array/assertSorted<~lib/string/String> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22390,93 +17906,183 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 local.get $1 - local.set $4 + call $~lib/array/Array<~lib/string/String>#sort + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 + local.get $2 + local.get $1 + call $std/array/isSorted<~lib/string/String> + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 942 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return ) - (func $~lib/array/Array#toString (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 local.get $1 - i32.store - local.get $1 - i32.const 8048 - local.set $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 7728 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $4 + i32.const 0 + i32.ne + if (result i32) + local.get $4 + call $std/array/Ref#toString + else + i32.const 7728 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + end global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 7728 + local.tee $5 i32.store offset=4 - local.get $1 - call $~lib/array/Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array<~lib/string/String|null>#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $2 + call $~lib/string/String#get:length + local.set $6 + i32.const 0 + local.set $7 + loop $for-loop|0 + local.get $7 + local.get $3 + i32.lt_s + local.set $8 + local.get $8 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $4 + i32.store + local.get $4 + i32.const 0 + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $4 + call $std/array/Ref#toString + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 + end + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $2 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $4 i32.store - local.get $1 - i32.const 8048 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/array/Array<~lib/string/String|null>#join - local.set $1 + local.get $4 + i32.const 0 + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $4 + call $std/array/Ref#toString + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 + end + local.get $5 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $9 ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22485,7 +18091,7 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -22493,11 +18099,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -22509,7 +18112,7 @@ i32.const 7728 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -22528,18 +18131,13 @@ i32.ne if (result i32) local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#toString + call $std/array/Ref#toString else i32.const 7728 end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -22548,13 +18146,8 @@ global.get $~lib/memory/__stack_pointer i32.const 7728 local.tee $5 - i32.store offset=8 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 i32.store offset=4 - local.get $9 + local.get $2 call $~lib/string/String#get:length local.set $6 i32.const 0 @@ -22581,45 +18174,25 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 + call $std/array/Ref#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=16 - local.get $9 - call $~lib/array/Array#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $6 if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $7 i32.const 1 @@ -22643,39 +18216,102 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 + call $std/array/Ref#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=16 - local.get $9 - call $~lib/array/Array#toString - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/array/Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 8048 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 8048 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 8048 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $1 ) - (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22685,73 +18321,71 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 + i32.const 8048 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $4 + local.get $1 + call $~lib/array/Array#join + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $1 ) - (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) + (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 + i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store local.get $1 + call $~lib/array/Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array<~lib/string/String|null>#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 - call $~lib/array/Array<~lib/array/Array>#join + call $~lib/array/Array<~lib/string/String|null>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -22759,16 +18393,17 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -22778,163 +18413,133 @@ i32.lt_s if i32.const 7728 - local.set $11 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $9 return end local.get $3 i32.eqz if + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load8_u - local.set $4 - i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop + i32.load + local.tee $4 + i32.store local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 + i32.const 0 + i32.ne + if (result i32) + local.get $4 + call $~lib/array/Array#toString + else + i32.const 7728 + end + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $9 return end - local.get $2 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 + i32.const 7728 + local.tee $5 + i32.store offset=4 + local.get $2 call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 - i32.add local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 i32.const 0 - local.set $4 + local.set $7 loop $for-loop|0 - local.get $4 + local.get $7 local.get $3 i32.lt_s - local.set $10 - local.get $10 + local.set $8 + local.get $8 if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 local.get $7 - local.get $8 - i32.const 1 + i32.const 2 i32.shl i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 + i32.load + local.tee $4 + i32.store + local.get $4 + i32.const 0 + i32.ne if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 + local.get $4 + call $~lib/array/Array#toString + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 + end + local.get $6 + if + global.get $~lib/memory/__stack_pointer local.get $5 - i32.add - local.set $8 + local.get $2 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 end - local.get $4 + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|0 end end + global.get $~lib/memory/__stack_pointer local.get $0 local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 + i32.const 2 i32.shl i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + i32.load + local.tee $4 + i32.store + local.get $4 + i32.const 0 + i32.ne if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.get $5 + local.get $4 + call $~lib/array/Array#toString + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 + local.get $9 + call $~lib/string/String.__concat + local.tee $5 + i32.store offset=4 end - local.get $7 - local.set $11 + local.get $5 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $9 ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22944,58 +18549,41 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 + i32.const 8048 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store - local.get $4 - call $~lib/util/string/joinIntegerArray - local.set $4 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#join + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $1 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -23009,7 +18597,7 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23017,11 +18605,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -23033,7 +18618,7 @@ i32.const 7728 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23052,18 +18637,13 @@ i32.ne if (result i32) local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 call $~lib/array/Array#toString else i32.const 7728 end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23072,13 +18652,8 @@ global.get $~lib/memory/__stack_pointer i32.const 7728 local.tee $5 - i32.store offset=8 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 i32.store offset=4 - local.get $9 + local.get $2 call $~lib/string/String#get:length local.set $6 i32.const 0 @@ -23105,45 +18680,25 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $6 if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $7 i32.const 1 @@ -23167,39 +18722,27 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23209,68 +18752,16 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -23278,29 +18769,24 @@ (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 i32.store - local.get $1 + local.get $0 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -23314,7 +18800,7 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23322,11 +18808,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -23338,7 +18821,7 @@ i32.const 7728 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23357,18 +18840,13 @@ i32.ne if (result i32) local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 call $~lib/array/Array#toString else i32.const 7728 end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23377,13 +18855,8 @@ global.get $~lib/memory/__stack_pointer i32.const 7728 local.tee $5 - i32.store offset=8 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 i32.store offset=4 - local.get $9 + local.get $2 call $~lib/string/String#get:length local.set $6 i32.const 0 @@ -23410,45 +18883,25 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $6 if global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 + local.get $5 + local.get $2 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $7 i32.const 1 @@ -23472,39 +18925,27 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/array/Array<~lib/array/Array>#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23514,68 +18955,16 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -23589,7 +18978,7 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23597,11 +18986,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 local.get $1 i32.const 1 i32.sub @@ -23613,7 +18999,7 @@ i32.const 7728 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23632,18 +19018,13 @@ i32.ne if (result i32) local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 call $~lib/array/Array<~lib/array/Array>#toString else i32.const 7728 end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -23652,13 +19033,8 @@ global.get $~lib/memory/__stack_pointer i32.const 7728 local.tee $5 - i32.store offset=8 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 i32.store offset=4 - local.get $9 + local.get $2 call $~lib/string/String#get:length local.set $6 i32.const 0 @@ -23685,45 +19061,25 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array<~lib/array/Array>#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $6 if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $7 i32.const 1 @@ -23747,39 +19103,27 @@ if global.get $~lib/memory/__stack_pointer local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 call $~lib/array/Array<~lib/array/Array>#toString local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 + i32.store offset=8 local.get $9 call $~lib/string/String.__concat local.tee $5 - i32.store offset=8 + i32.store offset=4 end local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23789,68 +19133,16 @@ i32.const 0 i32.store local.get $0 - i32.load offset=4 - local.set $2 - local.get $0 - i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $2 - local.get $3 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 i32.const 8048 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -24042,22 +19334,12 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 0 i32.const 6 @@ -24080,22 +19362,12 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#fill drop local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 0 i32.const 6 @@ -24118,22 +19390,12 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 0 i32.const 6 @@ -24156,22 +19418,12 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#fill drop local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 0 i32.const 6 @@ -24194,22 +19446,12 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 0 i32.const 6 @@ -24240,22 +19482,12 @@ local.tee $2 i32.store offset=12 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -24278,22 +19510,12 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#fill drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -24316,22 +19538,12 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -24354,22 +19566,12 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#fill drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -24392,22 +19594,12 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -24864,19 +20056,9 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#set:length local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -24898,11 +20080,6 @@ local.tee $2 i32.store offset=12 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -24917,11 +20094,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -24936,11 +20108,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -24955,11 +20122,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -24987,11 +20149,6 @@ i32.store local.get $16 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 call $~lib/array/Array#concat local.tee $0 i32.store offset=16 @@ -25032,11 +20189,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -25050,11 +20202,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 2 i32.const 3 @@ -25086,11 +20233,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -25105,11 +20247,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -25124,11 +20261,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -25143,20 +20275,10 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 46 call $~lib/array/Array#push drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 47 call $~lib/array/Array#push drop @@ -25168,11 +20290,6 @@ i32.store local.get $16 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 call $~lib/array/Array#concat local.tee $0 i32.store offset=16 @@ -25195,11 +20312,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -25213,11 +20325,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -25231,11 +20338,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -25250,11 +20352,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -25269,11 +20366,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -25288,11 +20380,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -25307,11 +20394,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -25326,19 +20408,9 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#pop drop local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -25360,11 +20432,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -25379,11 +20446,6 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 global.get $std/array/arr local.set $16 global.get $~lib/memory/__stack_pointer @@ -25394,11 +20456,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -25412,11 +20469,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -25438,11 +20490,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const 3 global.get $~lib/builtins/i32.MAX_VALUE @@ -25482,11 +20529,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 1 i32.const 3 global.get $~lib/builtins/i32.MAX_VALUE @@ -25526,11 +20568,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 1 i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE @@ -25570,11 +20607,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 2 i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE @@ -25614,11 +20646,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const 3 i32.const 4 @@ -25658,11 +20685,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 1 i32.const 3 i32.const 4 @@ -25702,11 +20724,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 1 i32.const 2 i32.const 4 @@ -25746,11 +20763,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE @@ -25790,11 +20802,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const -2 i32.const -1 @@ -25834,11 +20841,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -4 i32.const -3 i32.const -2 @@ -25878,11 +20880,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -4 i32.const -3 i32.const -1 @@ -25922,11 +20919,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -4 i32.const -3 global.get $~lib/builtins/i32.MAX_VALUE @@ -26472,23 +21464,13 @@ local.tee $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 + local.get $1 i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 3 i32.const 2 i32.const 3 @@ -26512,22 +21494,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 4 call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -26551,22 +21523,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 5 call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 i32.const 2 i32.const 3 @@ -26590,28 +21552,13 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26625,22 +21572,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -26664,22 +21601,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const -1 call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -26703,22 +21630,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const -3 i32.const -1 call $~lib/array/Array#slice local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -26741,11 +21658,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const -1 i32.const -3 call $~lib/array/Array#slice @@ -26767,11 +21679,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 10 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#slice @@ -27188,11 +22095,6 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -27210,11 +22112,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -27232,11 +22129,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 3 call $~lib/array/Array#lastIndexOf @@ -27252,11 +22144,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 call $~lib/array/Array#lastIndexOf @@ -27272,11 +22159,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const -2 call $~lib/array/Array#lastIndexOf @@ -27292,11 +22174,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const -1 call $~lib/array/Array#lastIndexOf @@ -27668,11 +22545,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice @@ -27703,11 +22575,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 2 i32.const 3 @@ -27738,11 +22605,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const 0 call $~lib/array/Array#splice @@ -27773,11 +22635,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -27808,11 +22665,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice @@ -27843,11 +22695,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -27878,11 +22725,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 2 i32.const 2 call $~lib/array/Array#splice @@ -27913,11 +22755,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 3 i32.const 2 i32.const 3 @@ -27948,11 +22785,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 0 i32.const 1 call $~lib/array/Array#splice @@ -27983,11 +22815,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 i32.const 2 i32.const 3 @@ -28018,11 +22845,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -1 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice @@ -28053,11 +22875,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 i32.const 2 i32.const 3 @@ -28088,11 +22905,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -2 global.get $~lib/builtins/i32.MAX_VALUE call $~lib/array/Array#splice @@ -28123,11 +22935,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 3 i32.const 2 i32.const 3 @@ -28158,11 +22965,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -2 i32.const 1 call $~lib/array/Array#splice @@ -28193,11 +22995,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 i32.const 2 i32.const 3 @@ -28228,11 +23025,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -7 i32.const 1 call $~lib/array/Array#splice @@ -28263,11 +23055,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 4 i32.const 2 i32.const 3 @@ -28298,11 +23085,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const -2 i32.const -1 call $~lib/array/Array#splice @@ -28333,11 +23115,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -28368,11 +23145,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 1 i32.const -2 call $~lib/array/Array#splice @@ -28403,11 +23175,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -28438,11 +23205,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 4 i32.const 0 call $~lib/array/Array#splice @@ -28473,11 +23235,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -28508,11 +23265,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 7 i32.const 0 call $~lib/array/Array#splice @@ -28543,11 +23295,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -28578,11 +23325,6 @@ local.tee $1 i32.store offset=4 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 7 i32.const 5 call $~lib/array/Array#splice @@ -28613,11 +23355,6 @@ unreachable end local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -28649,22 +23386,12 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 2 call $~lib/array/Array#splice local.tee $2 i32.store offset=12 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28678,11 +23405,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28703,12 +23425,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store offset=24 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $3 i32.load offset=4 local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $3 i32.const 0 i32.const 0 @@ -28744,22 +23466,12 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 call $~lib/array/Array#splice local.tee $2 i32.store offset=12 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -28773,11 +23485,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get i32.load @@ -28793,11 +23500,6 @@ unreachable end local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 call $~lib/array/Array#__get i32.load @@ -28813,11 +23515,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -28831,11 +23528,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get i32.load @@ -28851,11 +23543,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 call $~lib/array/Array#__get i32.load @@ -28871,11 +23558,6 @@ unreachable end local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 call $~lib/array/Array#__get i32.load @@ -28898,12 +23580,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $4 - i32.store offset=28 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $4 i32.load offset=4 local.tee $3 - i32.store offset=24 + i32.store offset=20 local.get $4 i32.const 0 i32.const 0 @@ -28922,25 +23604,15 @@ call $~lib/array/Array#__uset local.get $4 local.tee $3 - i32.store offset=24 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 i32.const 1 call $~lib/array/Array#splice local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -28955,15 +23627,10 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get local.tee $5 - i32.store offset=32 + i32.store offset=28 local.get $5 if (result i32) local.get $5 @@ -28988,11 +23655,6 @@ unreachable end local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29006,11 +23668,6 @@ unreachable end local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -29026,15 +23683,10 @@ end global.get $~lib/memory/__stack_pointer local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 call $~lib/array/Array#__get local.tee $5 - i32.store offset=32 + i32.store offset=28 local.get $5 if (result i32) local.get $5 @@ -30068,13 +24720,8 @@ local.get $16 call $~lib/array/Array#map local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -30088,11 +24735,6 @@ unreachable end local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 call $~lib/array/Array#__get global.get $std/array/arr @@ -30299,13 +24941,8 @@ local.get $16 call $~lib/array/Array#filter local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -31074,24 +25711,14 @@ i32.const 6480 call $~lib/rt/__newArray local.tee $3 - i32.store offset=24 + i32.store offset=20 local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop local.get $3 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 8 i32.const 2 i32.const 9 @@ -31120,24 +25747,14 @@ i32.const 6640 call $~lib/rt/__newArray local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop local.get $4 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 8 i32.const 3 i32.const 10 @@ -31168,22 +25785,12 @@ local.tee $2 i32.store offset=12 local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop local.get $2 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 3 @@ -31214,22 +25821,12 @@ local.tee $0 i32.store offset=16 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 5 i32.const 2 i32.const 7 @@ -31266,7 +25863,7 @@ i32.const 7152 call $~lib/rt/__newArray local.tee $6 - i32.store offset=36 + i32.store offset=32 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -31274,7 +25871,7 @@ i32.const 7184 call $~lib/rt/__newArray local.tee $7 - i32.store offset=40 + i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 @@ -31282,7 +25879,7 @@ i32.const 7216 call $~lib/rt/__newArray local.tee $8 - i32.store offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 @@ -31290,52 +25887,37 @@ i32.const 7264 call $~lib/rt/__newArray local.tee $9 - i32.store offset=48 + i32.store offset=44 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray local.tee $5 - i32.store offset=32 + i32.store offset=28 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray local.tee $10 - i32.store offset=52 + i32.store offset=48 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray local.tee $11 - i32.store offset=56 + i32.store offset=52 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray local.tee $12 - i32.store offset=60 + i32.store offset=56 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray local.tee $13 - i32.store offset=64 + i32.store offset=60 local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 i32.const 2 i32.const 3 @@ -31358,18 +25940,8 @@ unreachable end local.get $7 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $7 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 2 i32.const 2 i32.const 3 @@ -31392,24 +25964,9 @@ unreachable end local.get $8 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $8 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -31422,24 +25979,9 @@ unreachable end local.get $5 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $5 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31452,24 +25994,9 @@ unreachable end local.get $10 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $10 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31478,28 +26005,13 @@ i32.const 528 i32.const 997 i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 + call $~lib/builtins/abort + unreachable + end + local.get $11 call $std/array/assertSortedDefault local.get $11 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31512,24 +26024,9 @@ unreachable end local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -31542,28 +26039,18 @@ unreachable end local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createRandomOrderedArray local.tee $13 - i32.store offset=64 + i32.store offset=60 global.get $~lib/memory/__stack_pointer i32.const 257 call $std/array/createRandomOrderedArray local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7408 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31572,11 +26059,6 @@ local.get $16 call $std/array/assertSorted local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7440 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31585,11 +26067,6 @@ local.get $16 call $std/array/assertSorted local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7472 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31598,11 +26075,6 @@ local.get $16 call $std/array/assertSorted local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7504 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31614,13 +26086,8 @@ i32.const 2 call $std/array/createReverseOrderedNestedArray local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7536 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31632,13 +26099,8 @@ i32.const 512 call $std/array/createReverseOrderedElementsArray local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 7568 local.set $16 global.get $~lib/memory/__stack_pointer @@ -31653,7 +26115,7 @@ i32.const 7760 call $~lib/rt/__newArray local.tee $13 - i32.store offset=64 + i32.store offset=60 global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 @@ -31661,29 +26123,14 @@ i32.const 7808 call $~lib/rt/__newArray local.tee $11 - i32.store offset=56 + i32.store offset=52 local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 global.set $~argumentsLength i32.const 0 call $std/array/assertSorted<~lib/string/String|null>@varargs local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $11 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 i32.const 0 call $std/array/isArraysEqual<~lib/string/String|null> i32.eqz @@ -31699,13 +26146,8 @@ i32.const 400 call $std/array/createRandomStringArray local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -31718,7 +26160,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 8048 local.set $16 @@ -31756,7 +26198,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 7728 local.set $16 @@ -31794,7 +26236,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 10000 local.set $16 @@ -31832,7 +26274,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 10064 local.set $16 @@ -31870,7 +26312,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 10256 local.set $16 @@ -31908,7 +26350,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 i32.const 7728 local.set $16 @@ -31946,12 +26388,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $12 - i32.store offset=60 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $12 i32.load offset=4 local.tee $11 - i32.store offset=56 + i32.store offset=52 local.get $12 i32.const 0 i32.const 0 @@ -31970,13 +26412,8 @@ call $~lib/array/Array#__uset local.get $12 local.tee $11 - i32.store offset=56 + i32.store offset=52 local.get $11 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 8048 local.set $16 global.get $~lib/memory/__stack_pointer @@ -32013,12 +26450,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $12 - i32.store offset=60 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $12 i32.load offset=4 local.tee $13 - i32.store offset=64 + i32.store offset=60 local.get $12 i32.const 0 i32.const 0 @@ -32033,13 +26470,8 @@ call $~lib/array/Array#__uset local.get $12 local.tee $13 - i32.store offset=64 + i32.store offset=60 local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 i32.const 8048 local.set $16 global.get $~lib/memory/__stack_pointer @@ -32075,7 +26507,7 @@ i32.const 11856 call $~lib/rt/__newArray local.tee $11 - i32.store offset=56 + i32.store offset=52 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 @@ -32083,7 +26515,7 @@ i32.const 11888 call $~lib/rt/__newArray local.tee $12 - i32.store offset=60 + i32.store offset=56 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -32091,7 +26523,7 @@ i32.const 11920 call $~lib/rt/__newArray local.tee $10 - i32.store offset=52 + i32.store offset=48 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 @@ -32099,13 +26531,8 @@ i32.const 11952 call $~lib/rt/__newArray local.tee $5 - i32.store offset=32 + i32.store offset=28 local.get $11 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32129,11 +26556,6 @@ unreachable end local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32157,11 +26579,6 @@ unreachable end local.get $10 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32185,11 +26602,6 @@ unreachable end local.get $5 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32220,7 +26632,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 call $~lib/array/Array#toString local.set $16 @@ -32252,7 +26664,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 call $~lib/array/Array#toString local.set $16 @@ -32284,7 +26696,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 call $~lib/array/Array#toString local.set $16 @@ -32316,7 +26728,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 call $~lib/array/Array#toString local.set $16 @@ -32347,13 +26759,8 @@ i32.const 12528 call $~lib/rt/__newArray local.tee $9 - i32.store offset=48 + i32.store offset=44 local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array<~lib/string/String|null>#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32384,7 +26791,7 @@ local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store offset=20 + i32.store offset=64 local.get $16 call $~lib/array/Array<~lib/string/String|null>#toString local.set $16 @@ -32416,12 +26823,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $8 - i32.store offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $8 i32.load offset=4 local.tee $13 - i32.store offset=64 + i32.store offset=60 local.get $8 i32.const 0 i32.const 2 @@ -32440,13 +26847,8 @@ call $~lib/array/Array<~lib/array/Array>#__uset local.get $8 local.tee $13 - i32.store offset=64 + i32.store offset=60 local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array<~lib/array/Array>#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32477,12 +26879,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $8 - i32.store offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $8 i32.load offset=4 local.tee $7 - i32.store offset=40 + i32.store offset=36 local.get $8 i32.const 0 i32.const 2 @@ -32501,13 +26903,8 @@ call $~lib/array/Array<~lib/array/Array>#__uset local.get $8 local.tee $7 - i32.store offset=40 + i32.store offset=36 local.get $7 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array<~lib/array/Array>#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32538,12 +26935,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $8 - i32.store offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $8 i32.load offset=4 local.tee $6 - i32.store offset=36 + i32.store offset=32 local.get $8 i32.const 0 global.get $~lib/memory/__stack_pointer @@ -32571,13 +26968,8 @@ call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__uset local.get $8 local.tee $6 - i32.store offset=36 + i32.store offset=32 local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString local.set $16 global.get $~lib/memory/__stack_pointer @@ -32608,12 +27000,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $6 - i32.store offset=36 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $6 i32.load offset=4 local.tee $7 - i32.store offset=40 + i32.store offset=36 local.get $6 i32.const 0 i32.const 1 @@ -32648,23 +27040,13 @@ call $~lib/array/Array<~lib/array/Array>#__uset local.get $6 local.tee $7 - i32.store offset=40 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $7 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array<~lib/array/Array>#flat local.tee $6 - i32.store offset=36 + i32.store offset=32 local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array#get:length i32.const 10 i32.eq @@ -32687,11 +27069,6 @@ local.get $9 if local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 local.get $13 call $~lib/array/Array#__get local.get $13 @@ -32720,12 +27097,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $13 - i32.store offset=64 + i32.store offset=60 global.get $~lib/memory/__stack_pointer local.get $13 i32.load offset=4 local.tee $9 - i32.store offset=48 + i32.store offset=44 local.get $13 i32.const 0 i32.const 1 @@ -32760,17 +27137,12 @@ call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__uset local.get $13 local.tee $9 - i32.store offset=48 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $9 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat local.tee $13 - i32.store offset=64 + i32.store offset=60 global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 @@ -32778,13 +27150,8 @@ i32.const 13456 call $~lib/rt/__newArray local.tee $10 - i32.store offset=52 + i32.store offset=48 local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 call $~lib/array/Array<~lib/string/String|null>#get:length i32.const 8 i32.eq @@ -32801,23 +27168,13 @@ local.set $5 loop $for-loop|2 local.get $5 - local.get $10 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 + local.get $10 call $~lib/array/Array<~lib/string/String|null>#get:length i32.lt_s local.set $12 local.get $12 if local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 local.get $5 call $~lib/array/Array<~lib/string/String|null>#__get local.set $16 @@ -32826,11 +27183,6 @@ i32.store local.get $16 local.get $10 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=20 - local.get $16 local.get $5 call $~lib/array/Array<~lib/string/String|null>#__get local.set $16 @@ -32863,12 +27215,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $5 - i32.store offset=32 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $5 i32.load offset=4 local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $5 i32.const 0 i32.const 0 @@ -32887,13 +27239,8 @@ call $~lib/array/Array<~lib/array/Array>#__uset local.get $5 local.tee $12 - i32.store offset=60 + i32.store offset=56 local.get $12 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=8 - local.get $16 call $~lib/array/Array<~lib/array/Array>#flat local.set $16 global.get $~lib/memory/__stack_pointer @@ -32922,46 +27269,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/array/ArrayU32#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 40 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - call $~lib/array/Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -33002,13 +27310,13 @@ i32.shl i32.add i32.load - local.get $2 - local.get $0 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store local.get $6 + local.get $2 + local.get $0 i32.const 3 global.set $~argumentsLength local.get $1 @@ -33040,7 +27348,7 @@ global.set $~lib/memory/__stack_pointer local.get $6 ) - (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -33081,13 +27389,13 @@ i32.shl i32.add i32.load - local.get $2 - local.get $0 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store local.get $6 + local.get $2 + local.get $0 i32.const 3 global.set $~argumentsLength local.get $1 @@ -33118,8 +27426,12 @@ global.set $~lib/memory/__stack_pointer local.get $6 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array<~lib/string/String>#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33128,80 +27440,190 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u + local.set $3 + local.get $3 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $2 + local.get $3 + i32.ge_s + end if - local.get $1 + i32.const -1 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $2 + i32.add + local.tee $4 i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $6 + loop $while-continue|0 + local.get $2 + local.get $3 i32.lt_s + local.set $4 + local.get $4 if - i32.const 320 - i32.const 80 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable + local.get $6 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + local.get $1 + call $~lib/string/String.__eq + if + local.get $2 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - local.get $0 - local.get $1 - i32.const 1 + end + i32.const -1 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array<~lib/string/String>#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=12 + local.set $3 + local.get $3 + i32.const 0 + i32.eq + if + i32.const -1 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $2 i32.add - call $~lib/array/Array#set:length_ + local.set $2 + else + local.get $2 + local.get $3 + i32.ge_s + if + local.get $3 + i32.const 1 + i32.sub + local.set $2 + end + end + local.get $0 + i32.load offset=4 + local.set $4 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + local.set $5 + local.get $5 + if + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $1 + call $~lib/string/String.__eq + if + local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - drop - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#indexOf - i32.const 0 - i32.ge_s - local.set $3 + i32.const -1 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $6 ) - (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) + (func $~lib/array/Array<~lib/string/String>#forEach (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -33242,13 +27664,13 @@ i32.shl i32.add i32.load - local.get $2 - local.get $0 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 i32.store local.get $6 + local.get $2 + local.get $0 i32.const 3 global.set $~argumentsLength local.get $1 @@ -33266,222 +27688,334 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 2 - i32.const 7 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 i32.store i32.const 0 - local.set $3 + local.set $2 local.get $0 i32.load offset=12 - local.set $4 + local.set $3 loop $for-loop|0 + local.get $2 local.get $3 - local.get $4 - local.tee $5 + local.tee $4 local.get $0 i32.load offset=12 - local.tee $6 + local.tee $5 + local.get $4 local.get $5 - local.get $6 i32.lt_s select i32.lt_s - local.set $5 - local.get $5 + local.set $4 + local.get $4 if local.get $0 i32.load offset=4 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add i32.load local.set $6 + global.get $~lib/memory/__stack_pointer local.get $6 - local.get $3 + i32.store + local.get $6 + local.get $2 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 3 global.set $~argumentsLength local.get $1 i32.load call_indirect (type $i32_i32_i32_=>_i32) if - local.get $2 - local.set $7 + i32.const 1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $6 - call $~lib/array/Array#push - drop + return end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end + i32.const 0 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array<~lib/string/String>#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 8048 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array<~lib/string/String>#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - local.set $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $4 ) - (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Ref#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + local.get $1 + call $std/array/Ref#set:v + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - i32.store + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 i32.const 0 - local.set $2 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 576 + i32.const 18 + i32.const 57 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.shl + local.tee $1 i32.const 0 - local.set $6 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 ) - (func $std/array/ArrayU8#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 41 + i32.const 12 + i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 - call $~lib/array/Array#constructor + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store local.get $0 local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/array/Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33490,77 +28024,80 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - local.set $2 local.get $0 - i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1 + local.get $1 + i32.shl + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + local.get $3 + call $~lib/rt/__newBuffer + local.tee $5 + i32.store + i32.const 16 + local.get $2 + call $~lib/rt/itcms/__new local.set $6 + local.get $6 + local.get $5 + i32.store + local.get $6 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $6 + local.get $5 + i32.store offset=4 + local.get $6 + local.get $4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=12 + local.get $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $std/array/internalCapacity (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $1 + i32.store + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 2 + i32.shr_s + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 ) - (func $~lib/array/Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33569,72 +28106,81 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 + local.set $2 + i32.const 0 + local.get $1 + i32.load offset=12 + local.get $1 + i32.const 0 + i32.eq + select local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $2 + local.get $3 + i32.add + local.set $4 + local.get $4 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 222 + i32.const 60 + call $~lib/builtins/abort + unreachable end - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $5 + i32.store + local.get $5 + i32.load offset=4 local.set $6 + local.get $2 + i32.const 2 + i32.shl + local.set $7 + i32.const 0 + drop + local.get $6 + local.get $0 + i32.load offset=4 + local.get $7 + call $~lib/memory/memory.copy + local.get $6 + local.get $7 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $8 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33643,85 +28189,114 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) local.get $1 - i32.const 1 + local.get $3 i32.add + local.tee $4 i32.const 0 - call $~lib/array/ensureSize - local.get $0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else local.get $1 - i32.const 1 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 i32.add - call $~lib/array/Array#set:length_ + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $2 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 + local.set $2 local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + local.tee $4 i32.const 0 - drop - local.get $0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $6 i32.store - local.get $3 + local.get $6 + i32.load offset=4 + local.set $7 + local.get $0 + i32.load offset=4 local.get $1 - local.get $2 - call $~lib/array/Array#indexOf + i32.const 2 + i32.shl + i32.add + local.set $8 i32.const 0 - i32.ge_s - local.set $3 + drop + local.get $7 + local.get $8 + local.get $3 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $6 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $~lib/array/Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33730,156 +28305,239 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 local.set $3 - loop $for-loop|0 - local.get $2 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) local.get $3 + local.get $1 + i32.add local.tee $4 - local.get $0 - i32.load offset=12 + i32.const 0 local.tee $5 local.get $4 local.get $5 - i32.lt_s + i32.gt_s select - i32.lt_s - local.set $4 + else + local.get $1 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.lt_s + select + end + local.set $1 + local.get $2 + local.tee $4 + local.get $3 + local.get $1 + i32.sub + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + local.tee $5 + i32.const 0 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $6 + i32.store + local.get $6 + i32.load offset=4 + local.set $7 + local.get $0 + i32.load offset=4 + local.set $8 + local.get $8 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.set $9 + local.get $7 + local.get $9 + local.get $2 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $1 + local.get $2 + i32.add + local.set $10 + local.get $3 + local.get $10 + i32.ne + if + local.get $9 + local.get $8 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $10 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy end + local.get $0 + local.get $3 + local.get $2 + i32.sub + call $~lib/array/Array#set:length_ + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - i32.const 6 i32.const 0 - call $~lib/rt/__newArray - local.tee $2 i32.store - i32.const 0 - local.set $3 local.get $0 i32.load offset=12 - local.set $4 - loop $for-loop|0 + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) local.get $3 + local.get $1 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $1 local.tee $5 - local.get $0 - i32.load offset=12 - local.tee $6 + local.get $3 + local.tee $4 local.get $5 - local.get $6 + local.get $4 i32.lt_s select - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $6 - local.get $6 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $6 - call $~lib/array/Array#push - drop - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end end + local.set $1 + local.get $2 + local.tee $4 + local.get $3 + local.get $1 + i32.sub + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + local.tee $5 + i32.const 0 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 8 + i32.const 0 + call $~lib/rt/__newArray + local.tee $6 + i32.store + local.get $6 + i32.load offset=4 + local.set $7 + local.get $0 + i32.load offset=4 + local.set $8 + local.get $8 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.set $9 + local.get $7 + local.get $9 + local.get $2 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $1 + local.get $2 + i32.add + local.set $10 + local.get $3 + local.get $10 + i32.ne + if + local.get $9 + local.get $8 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $10 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + end + local.get $0 + local.get $3 local.get $2 - local.set $7 + i32.sub + call $~lib/array/Array#set:length_ + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $11 ) - (func $~lib/array/Array#some (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -33888,358 +28546,448 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - i32.const 0 - local.set $2 + local.get $1 local.get $0 i32.load offset=12 - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 + i32.store + i32.const 1 + drop i32.const 0 - local.set $6 + i32.eqz + drop + local.get $2 + i32.eqz + if + i32.const 4672 + i32.const 80 + i32.const 96 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $3 ) - (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.le_s - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $0 - i32.load offset=4 local.set $3 - local.get $2 - i32.const 2 - i32.eq - if - local.get $3 - i32.load8_u offset=1 - local.set $4 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) local.get $3 - i32.load8_u - local.set $5 + local.get $1 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 local.get $4 local.get $5 - i32.const 2 - global.set $~argumentsLength + i32.gt_s + select + else local.get $1 - i32.load - call_indirect (type $i32_i32_=>_i32) - i32.const 0 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 i32.lt_s - if - local.get $3 - local.get $5 - i32.store8 offset=1 - local.get $3 - local.get $4 - i32.store8 - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + select end + local.set $1 + local.get $2 + local.tee $4 local.get $3 - local.set $6 + local.get $1 + i32.sub + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + local.tee $5 + i32.const 0 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 11 + i32.const 0 + call $~lib/rt/__newArray + local.tee $6 + i32.store + local.get $6 + i32.load offset=4 + local.set $7 + local.get $0 + i32.load offset=4 + local.set $8 + local.get $8 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.set $9 + local.get $7 + local.get $9 local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.shl + call $~lib/memory/memory.copy local.get $1 - local.tee $4 - i32.store - i32.const 0 - drop - local.get $5 - i32.const 256 - i32.lt_s + local.get $2 + i32.add + local.set $10 + local.get $3 + local.get $10 + i32.ne if - local.get $6 - local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/util/sort/insertionSort - else - local.get $6 - local.get $5 - local.get $4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/util/sort/weakHeapSort + local.get $9 + local.get $8 + local.get $10 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $10 + i32.sub + i32.const 2 + i32.shl + call $~lib/memory/memory.copy end local.get $0 - local.set $7 + local.get $3 + local.get $2 + i32.sub + call $~lib/array/Array#set:length_ + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $11 ) - (func $std/array/ArrayStr#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + local.get $1 local.get $0 - i32.eqz + i32.load offset=12 + i32.ge_u if - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 320 + i32.const 80 + i32.const 92 i32.const 42 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.load offset=4 local.get $1 - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 i32.store - local.get $0 - local.set $2 + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#map (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 - local.set $2 + i32.store local.get $0 i32.load offset=12 - local.set $3 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 9 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 loop $for-loop|0 + local.get $5 local.get $2 - local.get $3 - local.tee $4 + local.tee $6 local.get $0 i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 + local.tee $7 + local.get $6 + local.get $7 i32.lt_s select i32.lt_s - local.set $4 - local.get $4 + local.set $6 + local.get $6 if local.get $0 i32.load offset=4 - local.get $2 + local.get $5 i32.const 2 i32.shl i32.add i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $2 + local.get $5 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 global.set $~argumentsLength local.get $1 i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 + call_indirect (type $i32_i32_i32_=>_f32) + local.set $8 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store + i32.const 0 + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/array/Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=12 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + local.tee $6 + local.get $0 + i32.load offset=12 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + i32.load offset=4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + local.set $7 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store + i32.const 0 + drop + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 br $for-loop|0 end end - i32.const 1 - local.set $6 + local.get $3 + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $8 ) - (func $~lib/array/Array<~lib/string/String>#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 - local.set $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 3 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store + i32.const 0 + local.set $3 local.get $0 i32.load offset=12 - local.set $3 + local.set $4 loop $for-loop|0 - local.get $2 local.get $3 - local.tee $4 + local.get $4 + local.tee $5 local.get $0 i32.load offset=12 - local.tee $5 - local.get $4 + local.tee $6 local.get $5 + local.get $6 i32.lt_s select i32.lt_s - local.set $4 - local.get $4 + local.set $5 + local.get $5 if local.get $0 i32.load offset=4 - local.get $2 + local.get $3 i32.const 2 i32.shl i32.add i32.load local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store local.get $6 - local.get $2 + local.get $3 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 global.set $~argumentsLength local.get $1 @@ -34247,330 +28995,294 @@ call_indirect (type $i32_i32_i32_=>_i32) if local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $6 - return + call $~lib/array/Array#push + drop end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end - i32.const -1 - local.set $6 + local.get $2 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 ) - (func $~lib/array/Array<~lib/string/String>#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.ge_s - end - if - i32.const -1 - local.set $7 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + i32.const 6544 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store end + local.get $0 + local.get $1 + call $~lib/array/Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 + ) + (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $2 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 6736 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store end local.get $0 - i32.load offset=4 - local.set $6 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $6 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/string/String.__eq - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + local.get $1 + call $~lib/array/Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $2 + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 1 - i32.add - local.set $2 - br $while-continue|0 + drop + i32.const 1 + if (result i32) + i32.const 4 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 6912 + br $~lib/util/sort/COMPARATOR|inlined.0 end + local.tee $1 + i32.store end - i32.const -1 - local.set $7 + local.get $0 + local.get $1 + call $~lib/array/Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 - drop - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 i32.store - local.get $3 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 1 + drop + i32.const 0 + if (result i32) + i32.const 4 + i32.const 4 + i32.le_u + else + i32.const 0 + end + drop + i32.const 7040 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $1 + i32.store + end + local.get $0 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $2 - call $~lib/array/Array<~lib/string/String>#indexOf - i32.const 0 - i32.ge_s - local.set $3 + call $~lib/array/Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/array/createReverseOrderedArray (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=12 - local.set $3 - local.get $3 i32.const 0 - i32.eq - if - i32.const -1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - local.get $3 - local.get $2 - i32.add - local.set $2 - else + local.get $0 + call $~lib/array/Array#constructor + local.tee $1 + i32.store + i32.const 0 + local.set $2 + loop $for-loop|0 local.get $2 + local.get $0 + i32.lt_s + local.set $3 local.get $3 - i32.ge_s if - local.get $3 + local.get $1 + local.get $2 + local.get $0 i32.const 1 i32.sub - local.set $2 - end - end - local.get $0 - i32.load offset=4 - local.set $4 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - local.set $5 - local.get $5 - if - local.get $4 local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String.__eq - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end + i32.sub + call $~lib/array/Array#__set local.get $2 i32.const 1 - i32.sub + i32.add local.set $2 - br $while-continue|0 + br $for-loop|0 end end - i32.const -1 - local.set $6 + local.get $1 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 ) - (func $~lib/array/Array<~lib/string/String>#forEach (param $0 i32) (param $1 i32) + (func $std/array/createRandomOrderedArray (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 - local.set $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 - i32.load offset=12 - local.set $3 + call $~lib/array/Array#constructor + local.tee $1 + i32.store + i32.const 0 + local.set $2 loop $for-loop|0 local.get $2 - local.get $3 - local.tee $4 local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - global.set $~argumentsLength + local.set $3 + local.get $3 + if local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_none) + local.get $2 + call $~lib/math/NativeMath.random + local.get $0 + f64.convert_i32_s + f64.mul + i32.trunc_f64_s + call $~lib/array/Array#__set local.get $2 i32.const 1 i32.add @@ -34578,125 +29290,164 @@ br $for-loop|0 end end + local.get $1 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $~lib/array/Array<~lib/string/String>#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + call $~lib/array/Array<~lib/array/Array>#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:byteLength + local.get $0 i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:length_ + local.get $1 + i32.const 1073741820 i32.const 2 - i32.const 29 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 i32.const 0 - local.set $3 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $0 - i32.load offset=12 local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $std/array/createReverseOrderedNestedArray (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + call $~lib/array/Array<~lib/array/Array>#constructor + local.tee $1 + i32.store + i32.const 0 + local.set $2 loop $for-loop|0 - local.get $3 - local.get $4 - local.tee $5 + local.get $2 local.get $0 - i32.load offset=12 - local.tee $6 - local.get $5 - local.get $6 - i32.lt_s - select i32.lt_s - local.set $5 - local.get $5 + local.set $3 + local.get $3 if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $6 + i32.const 0 + i32.const 1 + call $~lib/array/Array#constructor + local.tee $4 i32.store offset=4 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $3 + local.get $4 + i32.const 0 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - i32.const 3 - global.set $~argumentsLength + i32.const 1 + i32.sub + local.get $2 + i32.sub + call $~lib/array/Array#__set local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - local.get $7 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - call $~lib/array/Array<~lib/string/String>#push - drop - end - local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#__set + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|0 end end - local.get $2 - local.set $7 + local.get $1 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 ) - (func $~lib/array/Array<~lib/string/String>#some (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -34705,79 +29456,88 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - i32.const 0 - local.set $2 local.get $0 i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $0 + i32.load offset=4 local.set $3 - loop $for-loop|0 - local.get $2 + local.get $2 + i32.const 2 + i32.eq + if + global.get $~lib/memory/__stack_pointer local.get $3 + i32.load offset=4 local.tee $4 - local.get $0 - i32.load offset=12 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $2 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load + local.tee $5 + i32.store offset=4 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 i32.store offset=4 - local.get $6 - i32.const 3 - global.set $~argumentsLength - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + local.get $3 + local.get $4 + i32.store end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - i32.const 0 + local.get $3 local.set $6 + local.get $2 + local.set $5 + local.get $1 + local.set $4 + i32.const 1 + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/insertionSort<~lib/array/Array> + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 ) - (func $~lib/array/Array<~lib/string/String>#join (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34786,43 +29546,55 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=4 - local.set $2 + local.get $1 local.get $0 i32.load offset=12 - local.set $3 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 + i32.store i32.const 1 - i32.lt_s drop - i32.const 1 + i32.const 0 + i32.eqz drop local.get $2 - local.get $3 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/util/string/joinStringArray - local.set $4 + i32.eqz + if + i32.const 4672 + i32.const 80 + i32.const 96 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $3 ) - (func $~lib/array/Array<~lib/string/String>#toString (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array>#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -34832,242 +29604,352 @@ i64.const 0 i64.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array>#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array>#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array>#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array>#set:length_ local.get $1 - i32.store + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 8048 - local.set $1 + i32.const 2 + i32.shl + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 i32.store offset=4 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array>#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array>#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array>#set:byteLength + local.get $0 local.get $1 - call $~lib/array/Array<~lib/string/String>#join - local.set $1 + call $~lib/array/Array>#set:length_ + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $4 ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|1 (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Proxy#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - local.get $1 - i32.eq - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end + i32.eqz if - i32.const 0 - local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + i32.const 4 + i32.const 24 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end local.get $0 - local.set $6 + local.get $1 + call $std/array/Proxy#set:x + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/array/Array>#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - local.set $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $3 + i64.const 0 + i64.store + local.get $0 + i32.load offset=12 + local.set $2 local.get $2 - local.get $3 - i32.or - i32.eqz + i32.const 1 + i32.le_s if - i32.const 0 - local.set $6 + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 return end + local.get $0 + i32.load offset=4 + local.set $3 local.get $2 - i32.eqz + i32.const 2 + i32.eq if - i32.const -1 - local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $3 - i32.eqz - if - i32.const 1 - local.set $6 + local.get $3 + i32.load offset=4 + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load + local.tee $5 + i32.store offset=4 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $4 + i32.store + end + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 return end - local.get $0 + local.get $3 local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - i32.const 0 + local.get $2 + local.set $5 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 + local.set $4 + i32.const 1 + drop local.get $6 - i32.const 0 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $4 local.get $4 - if (result i32) - local.get $4 - else - local.get $2 - local.get $3 - i32.sub - end - local.set $6 + call $~lib/util/sort/insertionSort> + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + local.get $1 local.get $0 - i32.eqz + i32.load offset=12 + i32.ge_u if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $0 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ + i32.load offset=4 local.get $1 - i32.const 1073741820 i32.const 2 - i32.shr_u - i32.gt_u + i32.shl + i32.add + i32.load + local.tee $2 + i32.store + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $2 + i32.eqz if - i32.const 32 + i32.const 4672 i32.const 80 - i32.const 58 - i32.const 60 + i32.const 96 + i32.const 40 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill + ) + (func $~lib/array/Array<~lib/string/String|null>#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer + i32.load offset=12 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end local.get $0 + i32.load offset=4 + local.set $3 + local.get $2 + i32.const 2 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load + local.tee $5 + i32.store offset=4 + local.get $4 + local.get $5 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $4 + i32.store + end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 + local.set $6 local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 + local.set $5 local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 local.set $4 + i32.const 1 + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/sort/insertionSort<~lib/string/String|null> + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $std/array/Ref#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String|null>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35076,28 +29958,43 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 local.get $0 - i32.eqz + i32.load offset=12 + i32.ge_u if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 + i32.load offset=4 local.get $1 - call $std/array/Ref#set:v - local.get $0 - local.set $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 + i32.store + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -35112,56 +30009,63 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 + i32.const 16 + i32.const 29 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + call $~lib/array/Array<~lib/string/String>#set:buffer local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart + call $~lib/array/Array<~lib/string/String>#set:dataStart local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $1 i32.const 1073741820 - local.get $2 + i32.const 2 i32.shr_u i32.gt_u if i32.const 32 - i32.const 576 - i32.const 18 - i32.const 57 + i32.const 80 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 + i32.const 2 i32.shl - local.tee $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 0 call $~lib/rt/itcms/__new local.tee $3 i32.store offset=4 local.get $3 i32.const 0 - local.get $1 + local.get $2 call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + call $~lib/array/Array<~lib/string/String>#set:buffer local.get $0 local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart + call $~lib/array/Array<~lib/string/String>#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#set:byteLength local.get $0 local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer @@ -35170,11 +30074,9 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35183,243 +30085,267 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 local.get $1 - i32.shl - local.set $4 + local.get $0 + call $~lib/string/String#get:length + i32.ge_u + if + i32.const 7728 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - local.get $3 - call $~lib/rt/__newBuffer - local.tee $5 - i32.store - i32.const 16 - local.get $2 + i32.const 2 + i32.const 1 call $~lib/rt/itcms/__new - local.set $6 - local.get $6 - local.get $5 + local.tee $2 i32.store - local.get $6 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $6 - local.get $5 - i32.store offset=4 - local.get $6 - local.get $4 - i32.store offset=8 - local.get $6 + local.get $2 local.get $0 - i32.store offset=12 - local.get $6 - local.set $7 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $3 ) - (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.const 0 - i32.store + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 7888 + local.tee $1 + i32.store + end local.get $0 - i32.load offset=12 + call $~lib/string/String#get:length + i32.const 1 + i32.shl local.set $2 - i32.const 0 local.get $1 - i32.load offset=12 - local.get $1 - i32.const 0 - i32.eq - select + call $~lib/string/String#get:length + i32.const 1 + i32.shl local.set $3 local.get $2 local.get $3 i32.add local.set $4 local.get $4 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + i32.const 0 + i32.eq if - i32.const 32 - i32.const 80 - i32.const 222 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray + i32.const 1 + call $~lib/rt/itcms/__new local.tee $5 - i32.store + i32.store offset=4 local.get $5 - i32.load offset=4 - local.set $6 - local.get $2 - i32.const 2 - i32.shl - local.set $7 - i32.const 0 - drop - local.get $6 local.get $0 - i32.load offset=4 - local.get $7 + local.get $2 call $~lib/memory/memory.copy - local.get $6 - local.get $7 + local.get $5 + local.get $2 i32.add local.get $1 - i32.load offset=4 local.get $3 - i32.const 2 - i32.shl call $~lib/memory/memory.copy local.get $5 - local.set $8 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $6 ) - (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store local.get $0 i32.load offset=12 - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 + local.set $2 + local.get $2 + i32.const 1 + i32.le_s + if + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - local.set $1 + local.get $0 + i32.load offset=4 + local.set $3 local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 + i32.const 2 + i32.eq + if + global.get $~lib/memory/__stack_pointer local.get $3 - i32.add + i32.load offset=4 local.tee $4 - i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load local.tee $5 + i32.store offset=4 local.get $4 local.get $5 - i32.gt_s - select - else - local.get $2 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s - select + if + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $4 + i32.store + end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - local.set $2 + local.get $3 + local.set $6 local.get $2 + local.set $5 local.get $1 - i32.sub - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 + local.set $4 + i32.const 1 + drop + local.get $6 local.get $5 - i32.gt_s - select - local.set $3 + local.get $4 + call $~lib/util/sort/insertionSort<~lib/string/String> + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 2 - i32.const 3 i32.const 0 - call $~lib/rt/__newArray - local.tee $6 i32.store - local.get $6 - i32.load offset=4 - local.set $7 + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - local.set $8 + i32.load + local.tee $2 + i32.store + i32.const 1 + drop i32.const 0 + i32.eqz drop - local.get $7 - local.get $8 - local.get $3 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $6 - local.set $9 + local.get $2 + i32.eqz + if + i32.const 4672 + i32.const 80 + i32.const 96 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $3 ) - (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35429,6 +30355,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35438,112 +30365,120 @@ i32.const 0 i32.store local.get $0 - i32.load offset=12 + call $~lib/string/String#get:length local.set $3 local.get $1 + local.tee $4 i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 i32.lt_s - if (result i32) - local.get $3 - local.get $1 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $1 + select + local.set $6 local.get $2 local.tee $4 - local.get $3 - local.get $1 - i32.sub + i32.const 0 local.tee $5 local.get $4 local.get $5 - i32.lt_s + i32.gt_s select local.tee $5 - i32.const 0 + local.get $3 local.tee $4 local.get $5 local.get $4 - i32.gt_s + i32.lt_s select - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 3 - i32.const 0 - call $~lib/rt/__newArray - local.tee $6 - i32.store - local.get $6 - i32.load offset=4 local.set $7 - local.get $0 - i32.load offset=4 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl local.set $8 - local.get $8 - local.get $1 - i32.const 2 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select + i32.const 1 i32.shl - i32.add local.set $9 - local.get $7 local.get $9 - local.get $2 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $1 - local.get $2 - i32.add + local.get $8 + i32.sub local.set $10 - local.get $3 local.get $10 - i32.ne + i32.eqz if - local.get $9 - local.get $8 - local.get $10 - i32.const 2 - i32.shl + i32.const 7728 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 local.get $3 - local.get $10 - i32.sub - i32.const 2 + i32.const 1 i32.shl - call $~lib/memory/memory.copy + i32.eq + else + i32.const 0 + end + if + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store + local.get $11 local.get $0 - local.get $3 - local.get $2 - i32.sub - call $~lib/array/Array#set:length_ - local.get $6 - local.set $11 + local.get $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $12 ) - (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/joinBooleanArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35553,6 +30488,8 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35561,115 +30498,181 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.load offset=12 - local.set $3 local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 i32.const 0 i32.lt_s - if (result i32) - local.get $3 - local.get $1 + if + i32.const 7728 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + local.get $3 + i32.eqz + if + i32.const 7984 + i32.const 8016 + local.get $0 + i32.load8_u select + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return end - local.set $1 local.get $2 - local.tee $4 - local.get $3 - local.get $1 - i32.sub - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - local.tee $5 - i32.const 0 - local.tee $4 + call $~lib/string/String#get:length + local.set $4 + i32.const 5 + local.set $5 local.get $5 local.get $4 - i32.gt_s - select - local.set $2 + i32.add + local.get $3 + i32.mul + local.get $5 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 8 - i32.const 0 - call $~lib/rt/__newArray - local.tee $6 - i32.store local.get $6 - i32.load offset=4 - local.set $7 - local.get $0 - i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - local.get $8 - local.get $1 - i32.const 2 + i32.const 0 + local.set $10 + loop $for-loop|1 + local.get $10 + local.get $3 + i32.lt_s + local.set $12 + local.get $12 + if + local.get $0 + local.get $10 + i32.add + i32.load8_u + local.set $9 + i32.const 4 + local.get $9 + i32.eqz + i32.add + local.set $5 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + i32.const 7984 + i32.const 8016 + local.get $9 + select + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + local.get $4 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $4 + i32.add + local.set $8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|1 + end + end + local.get $0 + local.get $3 + i32.add + i32.load8_u + local.set $9 + i32.const 4 + local.get $9 + i32.eqz + i32.add + local.set $5 + local.get $7 + local.get $8 + i32.const 1 i32.shl i32.add - local.set $9 - local.get $7 + i32.const 7984 + i32.const 8016 local.get $9 - local.get $2 - i32.const 2 + select + local.get $5 + i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $1 - local.get $2 + local.get $8 + local.get $5 i32.add - local.set $10 - local.get $3 - local.get $10 - i32.ne + local.set $8 + local.get $6 + local.get $8 + i32.gt_s if - local.get $9 + local.get $7 + i32.const 0 local.get $8 - local.get $10 - i32.const 2 - i32.shl + call $~lib/string/String#substring + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $3 - local.get $10 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy + global.set $~lib/memory/__stack_pointer + local.get $13 + return end - local.get $0 - local.get $3 - local.get $2 - i32.sub - call $~lib/array/Array#set:length_ - local.get $6 - local.set $11 + local.get $7 + local.set $13 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $13 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35679,177 +30682,166 @@ i32.const 0 i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 + i32.const 8160 + i32.const 8288 + i32.const 373 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $2 - i32.store - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $2 i32.eqz if - i32.const 4672 - i32.const 80 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable + i32.const 8352 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return end - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - i32.load offset=12 - local.set $3 + i32.const 31 + i32.shr_u + local.set $2 + local.get $2 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $1 + i32.const 10 + i32.eq + if + local.get $0 + call $~lib/util/number/decimalCount32 + local.get $2 i32.add - local.tee $4 - i32.const 0 - local.tee $5 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $7 + local.get $0 + local.set $6 local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 local.get $5 - i32.gt_s - select + call $~lib/util/number/utoa32_dec_lut else local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $1 - local.get $2 - local.tee $4 - local.get $3 - local.get $1 - i32.sub - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - local.tee $5 - i32.const 0 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 11 - i32.const 0 - call $~lib/rt/__newArray - local.tee $6 - i32.store - local.get $6 - i32.load offset=4 - local.set $7 - local.get $0 - i32.load offset=4 - local.set $8 - local.get $8 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.set $9 - local.get $7 - local.get $9 - local.get $2 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $1 + i32.const 16 + i32.eq + if + i32.const 31 + local.get $0 + i32.clz + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $7 + local.get $0 + local.set $6 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + i64.extend_i32_u + local.get $5 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + local.set $4 + local.get $4 + i64.extend_i32_u + local.get $1 + call $~lib/util/number/ulog_base + local.get $2 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $4 + i64.extend_i32_u + local.get $7 + local.get $1 + call $~lib/util/number/utoa64_any_core + end + end local.get $2 - i32.add - local.set $10 - local.get $3 - local.get $10 - i32.ne if - local.get $9 - local.get $8 - local.get $10 - i32.const 2 - i32.shl - i32.add local.get $3 - local.get $10 - i32.sub - i32.const 2 - i32.shl - call $~lib/memory/memory.copy + i32.const 45 + i32.store16 end - local.get $0 local.get $3 - local.get $2 - i32.sub - call $~lib/array/Array#set:length_ - local.get $6 - local.set $11 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $8 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35859,177 +30851,164 @@ i32.const 0 i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $2 - i32.store i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $2 + i32.sub local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $3 - ) - (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + i32.lt_s + if + i32.const 7728 + local.set $11 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 0 - drop - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.eq - drop - i32.const 6544 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $1 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 + i32.eqz + if + local.get $0 + i32.load + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 - local.get $1 - call $~lib/array/Array#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $2 - ) - (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/string/String#get:length + local.set $5 + i32.const 11 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 11 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + i32.const 0 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 end - unreachable - end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 0 - drop + local.get $4 i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.eq - drop - i32.const 6736 - br $~lib/util/sort/COMPARATOR|inlined.0 + i32.add + local.set $4 + br $for-loop|0 end - local.tee $1 - i32.store end local.get $0 - local.get $1 - call $~lib/array/Array#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 1 - drop - i32.const 1 - if (result i32) - i32.const 4 - i32.const 4 - i32.le_u - else - i32.const 0 - end - drop - i32.const 6912 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $1 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 - local.get $1 - call $~lib/array/Array#sort - local.set $2 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $11 ) - (func $~lib/array/Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36038,127 +31017,142 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 1 - drop - i32.const 0 - if (result i32) - i32.const 4 - i32.const 4 - i32.le_u - else - i32.const 0 - end - drop - i32.const 7040 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $1 - i32.store - end - local.get $0 local.get $1 - call $~lib/array/Array#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/array/Array<~lib/array/Array>#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end + if + i32.const 8160 + i32.const 8288 + i32.const 350 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.eqz if + i32.const 8352 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + i32.const 10 + i32.eq if - i32.const 32 - i32.const 80 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.get $0 + call $~lib/util/number/decimalCount32 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + else + local.get $1 + i32.const 16 + i32.eq + if + i32.const 31 + local.get $0 + i32.clz + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + i64.extend_i32_u + local.get $4 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + i64.extend_i32_u + local.get $1 + call $~lib/util/number/ulog_base + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + i64.extend_i32_u + local.get $3 + local.get $1 + call $~lib/util/number/utoa64_any_core + end end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $0 local.get $2 - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#set:length_ - local.get $0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $~lib/array/Array<~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36168,163 +31162,159 @@ i32.const 0 i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $2 - i32.store i32.const 1 - drop + i32.sub + local.set $3 + local.get $3 i32.const 0 - i32.eqz - drop - local.get $2 - i32.eqz + i32.lt_s if - i32.const 4672 - i32.const 80 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $3 - ) - (func $~lib/array/Array>#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 i32.eqz if + local.get $0 + i32.load + local.set $4 + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 - i32.const 0 - call $~lib/array/Array>#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array>#set:dataStart - local.get $0 + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 10 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store i32.const 0 - call $~lib/array/Array>#set:byteLength - local.get $0 + local.set $8 i32.const 0 - call $~lib/array/Array>#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/array/Array>#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array>#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array>#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array>#set:length_ - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $std/array/Proxy#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 - local.get $1 - call $std/array/Proxy#set:x - local.get $0 - local.set $2 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $11 ) - (func $~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/dtoa (param $0 f64) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -36335,43 +31325,69 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 local.get $0 - i32.load offset=12 - i32.ge_u + f64.const 0 + f64.eq if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 10288 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 + local.get $0 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $0 + local.get $0 + f64.ne + if + i32.const 10320 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 10352 + i32.const 10400 + local.get $0 + f64.const 0 + f64.lt + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 10432 + local.get $0 + call $~lib/util/number/dtoa_core + i32.const 1 i32.shl - i32.add - i32.load + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new local.tee $2 i32.store - i32.const 1 - drop - i32.const 0 - i32.eqz - drop local.get $2 - i32.eqz - if - i32.const 4672 - i32.const 80 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable - end + i32.const 10432 + local.get $1 + call $~lib/memory/memory.copy local.get $2 local.set $3 global.get $~lib/memory/__stack_pointer @@ -36380,9 +31396,16 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $~lib/array/Array<~lib/string/String|null>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f64) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36392,124 +31415,370 @@ i32.const 0 i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 + i32.eqz + if + local.get $0 + f64.load + call $~lib/util/number/dtoa + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $2 + call $~lib/string/String#get:length + local.set $4 + i32.const 28 + local.get $4 + i32.add + local.get $3 + i32.mul + i32.const 28 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + i32.const 0 + local.set $7 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $8 + local.get $7 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $8 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $4 + if + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.get $4 + i32.add + local.set $7 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 + local.get $3 + i32.const 3 i32.shl i32.add - i32.load - local.tee $2 - i32.store - i32.const 1 - drop + f64.load + local.set $8 + local.get $7 + local.get $6 + local.get $7 i32.const 1 - i32.eqz - drop - local.get $2 - local.set $3 + i32.shl + i32.add + local.get $8 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.gt_s + if + local.get $6 + i32.const 0 + local.get $7 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $11 ) - (func $~lib/array/Array<~lib/string/String>#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 7728 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $3 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load + local.tee $4 i32.store + local.get $4 + if (result i32) + local.get $4 + else + i32.const 7728 + end + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $0 i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $0 + local.set $5 i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.ne + if + local.get $5 + local.get $6 + call $~lib/string/String#get:length + i32.add + local.set $5 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $0 + local.set $8 + local.get $2 + call $~lib/string/String#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $9 + local.get $3 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store offset=8 i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $3 + i32.lt_s + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.ne + if + local.get $6 + call $~lib/string/String#get:length + local.set $11 + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $11 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $11 + i32.add + local.set $8 + end + local.get $9 + if + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $9 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $9 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 i32.const 2 i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 + i32.add + i32.load + local.tee $6 i32.store offset=4 - local.get $3 + local.get $6 i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $0 - local.set $4 + i32.ne + if + local.get $10 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + end + local.get $10 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $12 ) - (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36519,58 +31788,167 @@ i32.const 0 i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 320 - i32.const 80 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 + i32.eqz + if + local.get $0 + i32.load8_s + local.set $4 + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 11 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 11 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 + local.get $3 + i32.const 0 i32.shl i32.add - i32.load - local.tee $2 - i32.store + i32.load8_s + local.set $9 + local.get $8 + local.get $7 + local.get $8 i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $2 - i32.eqz + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s if - i32.const 4672 - i32.const 80 - i32.const 96 - i32.const 40 - call $~lib/builtins/abort - unreachable + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $2 - local.set $3 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $11 ) - (func $~lib/util/number/itoa32 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36580,163 +31958,166 @@ i32.const 0 i32.store local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 8160 - i32.const 8288 - i32.const 373 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 + local.get $3 i32.eqz if - i32.const 8352 - local.set $8 + local.get $0 + i32.load16_u + local.set $4 + i32.const 0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $11 return end - local.get $0 - i32.const 31 - i32.shr_u - local.set $2 local.get $2 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end - local.get $1 + call $~lib/string/String#get:length + local.set $5 i32.const 10 - i32.eq - if - local.get $0 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store local.get $3 - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else - local.get $1 - i32.const 16 - i32.eq + i32.lt_s + local.set $10 + local.get $10 if - i32.const 31 local.get $0 - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 i32.const 1 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - i64.extend_i32_u - local.get $5 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.set $4 - local.get $4 - i64.extend_i32_u - local.get $1 - call $~lib/util/number/ulog_base - local.get $2 i32.add - local.set $7 - global.get $~lib/memory/__stack_pointer + i32.load16_u + local.set $9 + local.get $8 local.get $7 + local.get $8 i32.const 1 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end local.get $4 - i64.extend_i32_u - local.get $7 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end end - local.get $2 - if - local.get $3 - i32.const 45 - i32.store16 - end + local.get $0 local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 + local.get $6 + local.get $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $11 ) - (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i64) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36758,68 +32139,106 @@ if i32.const 8160 i32.const 8288 - i32.const 350 + i32.const 401 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 + i64.const 0 + i64.ne i32.eqz if i32.const 8352 - local.set $7 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $1 - i32.const 10 - i32.eq - if - local.get $0 - call $~lib/util/number/decimalCount32 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.set $6 + local.get $9 + return + end + local.get $1 + i32.const 10 + i32.eq + if local.get $0 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $0 + i32.wrap_i64 + local.set $3 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $7 + local.get $3 + local.set $6 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut + else + local.get $0 + call $~lib/util/number/decimalCount64High + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $8 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $8 + local.get $5 + call $~lib/util/number/utoa64_dec_lut + end else local.get $1 i32.const 16 i32.eq if - i32.const 31 + i32.const 63 local.get $0 - i32.clz + i64.clz + i32.wrap_i64 i32.sub i32.const 2 i32.shr_s i32.const 1 i32.add - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.const 1 i32.shl i32.const 1 @@ -36827,28 +32246,26 @@ local.tee $2 i32.store local.get $2 - local.set $6 + local.set $3 local.get $0 - local.set $5 - local.get $3 - local.set $4 + local.set $8 + local.get $4 + local.set $7 i32.const 0 i32.const 1 i32.ge_s drop - local.get $6 - local.get $5 - i64.extend_i32_u - local.get $4 + local.get $3 + local.get $8 + local.get $7 call $~lib/util/number/utoa_hex_lut else local.get $0 - i64.extend_i32_u local.get $1 call $~lib/util/number/ulog_base - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 i32.const 1 i32.shl i32.const 1 @@ -36857,24 +32274,30 @@ i32.store local.get $2 local.get $0 - i64.extend_i32_u - local.get $3 + local.get $4 local.get $1 call $~lib/util/number/utoa64_any_core end end local.get $2 - local.set $7 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $9 ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36883,86 +32306,168 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - f64.const 0 - f64.eq + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 10288 - local.set $3 + i32.const 7728 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $12 return end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.eq + local.get $3 i32.eqz if local.get $0 - local.get $0 - f64.ne + i64.load + local.set $4 + i32.const 0 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 20 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 20 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $10 + loop $for-loop|0 + local.get $10 + local.get $3 + i32.lt_s + local.set $11 + local.get $11 if - i32.const 10320 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + local.get $10 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i64.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|0 end - i32.const 10352 - i32.const 10400 - local.get $0 - f64.const 0 - f64.lt - select - local.set $3 + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $12 return end - i32.const 10432 - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 10432 - local.get $1 - call $~lib/memory/memory.copy - local.get $2 - local.set $3 + local.get $7 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $12 ) - (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) + (func $~lib/util/number/itoa64 (param $0 i64) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) - (local $9 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36984,7 +32489,7 @@ if i32.const 8160 i32.const 8288 - i32.const 401 + i32.const 431 i32.const 5 call $~lib/builtins/abort unreachable @@ -36995,14 +32500,26 @@ i32.eqz if i32.const 8352 - local.set $9 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $10 return end + local.get $0 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + if + i64.const 0 + local.get $0 + i64.sub + local.set $0 + end local.get $1 i32.const 10 i32.eq @@ -37014,57 +32531,61 @@ if local.get $0 i32.wrap_i64 - local.set $3 - local.get $3 - call $~lib/util/number/decimalCount32 local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 + call $~lib/util/number/decimalCount32 + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store - local.get $2 - local.set $7 local.get $3 - local.set $6 + local.set $8 local.get $4 - local.set $5 + local.set $7 + local.get $5 + local.set $6 i32.const 0 i32.const 1 i32.ge_s drop + local.get $8 local.get $7 local.get $6 - local.get $5 call $~lib/util/number/utoa32_dec_lut else local.get $0 call $~lib/util/number/decimalCount64High - local.set $4 + local.get $2 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store - local.get $2 - local.set $6 + local.get $3 + local.set $7 local.get $0 - local.set $8 - local.get $4 - local.set $5 + local.set $9 + local.get $5 + local.set $6 i32.const 0 i32.const 1 i32.ge_s drop + local.get $7 + local.get $9 local.get $6 - local.get $8 - local.get $5 call $~lib/util/number/utoa64_dec_lut end else @@ -37081,67 +32602,250 @@ i32.shr_s i32.const 1 i32.add - local.set $4 + local.get $2 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.store + local.get $3 + local.set $4 + local.get $0 + local.set $9 + local.get $5 + local.set $8 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $4 + local.get $9 + local.get $8 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + local.get $1 + call $~lib/util/number/ulog_base local.get $2 - local.set $3 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + local.get $5 + local.get $1 + call $~lib/util/number/utoa64_any_core + end + end + local.get $2 + if + local.get $3 + i32.const 45 + i32.store16 + end + local.get $3 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 7728 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $3 + i32.eqz + if + local.get $0 + i64.load + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.wrap_i64 + i64.extend_i32_s + i32.const 10 + call $~lib/util/number/itoa64 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 21 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 21 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $10 + loop $for-loop|0 + local.get $10 + local.get $3 + i32.lt_s + local.set $11 + local.get $11 + if local.get $0 - local.set $8 - local.get $4 - local.set $7 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $3 + local.get $10 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 local.get $8 local.get $7 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.get $1 - call $~lib/util/number/ulog_base - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $8 i32.const 1 i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $10 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - local.get $4 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.add + local.set $10 + br $for-loop|0 end end - local.get $2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $7 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $12 ) - (func $~lib/util/number/itoa64 (param $0 i64) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) + (local $9 i32) (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37151,191 +32855,156 @@ i32.const 0 i32.store local.get $1 - i32.const 2 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end if - i32.const 8160 - i32.const 8288 - i32.const 431 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 7728 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $0 - i64.const 0 - i64.ne + local.get $3 i32.eqz if - i32.const 8352 - local.set $10 + local.get $0 + i32.load8_u + local.set $4 + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $11 return end - local.get $0 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $2 local.get $2 - if - i64.const 0 - local.get $0 - i64.sub - local.set $0 - end - local.get $1 + call $~lib/string/String#get:length + local.set $5 i32.const 10 - i32.eq - if - local.get $0 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $0 - i32.wrap_i64 - local.set $4 - local.get $4 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $8 - local.get $4 - local.set $7 - local.get $5 - local.set $6 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $8 - local.get $7 - local.get $6 - call $~lib/util/number/utoa32_dec_lut - else - local.get $0 - call $~lib/util/number/decimalCount64High - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $7 - local.get $0 - local.set $9 - local.get $5 - local.set $6 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $9 - local.get $6 - call $~lib/util/number/utoa64_dec_lut - end - else - local.get $1 - i32.const 16 - i32.eq + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 if - i32.const 63 local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 + local.get $4 + i32.const 0 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $4 - local.get $0 + i32.add + i32.load8_u local.set $9 - local.get $5 - local.set $8 - i32.const 0 + local.get $8 + local.get $7 + local.get $8 i32.const 1 - i32.ge_s - drop - local.get $4 + i32.shl + i32.add local.get $9 - local.get $8 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.get $1 - call $~lib/util/number/ulog_base - local.get $2 + call $~lib/util/number/itoa_buffered i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer + local.set $8 local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.get $0 - local.get $5 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.add + local.set $4 + br $for-loop|0 end end - local.get $2 + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s if - local.get $3 - i32.const 45 - i32.store16 + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $3 - local.set $10 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $11 ) (func $~lib/array/Array<~lib/array/Array>#flat (param $0 i32) (result i32) (local $1 i32) @@ -37757,6 +33426,40 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $std/array/ArrayU32#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 40 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/array/Array#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -37813,32 +33516,112 @@ i32.load offset=4 local.set $6 local.get $2 - i32.const 2 - i32.shl + i32.const 2 + i32.shl + local.set $7 + i32.const 0 + drop + local.get $6 + local.get $0 + i32.load offset=4 + local.get $7 + call $~lib/memory/memory.copy + local.get $6 + local.get $7 + i32.add + local.get $1 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + ) + (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 7 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store + i32.const 0 + local.set $3 + local.get $0 + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + local.tee $5 + local.get $0 + i32.load offset=12 + local.tee $6 + local.get $5 + local.get $6 + i32.lt_s + select + i32.lt_s + local.set $5 + local.get $5 + if + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + local.get $6 + local.get $3 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $2 + local.get $6 + call $~lib/array/Array#push + drop + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 local.set $7 - i32.const 0 - drop - local.get $6 - local.get $0 - i32.load offset=4 - local.get $7 - call $~lib/memory/memory.copy - local.get $6 - local.get $7 - i32.add - local.get $1 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $5 - local.set $8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $7 ) (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -38159,6 +33942,40 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $std/array/ArrayU8#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 41 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/array/Array#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -38242,6 +34059,86 @@ global.set $~lib/memory/__stack_pointer local.get $8 ) + (func $~lib/array/Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store + i32.const 0 + local.set $3 + local.get $0 + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + local.tee $5 + local.get $0 + i32.load offset=12 + local.tee $6 + local.get $5 + local.get $6 + i32.lt_s + select + i32.lt_s + local.set $5 + local.get $5 + if + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $6 + local.get $6 + local.get $3 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $2 + local.get $6 + call $~lib/array/Array#push + drop + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -38480,6 +34377,40 @@ global.set $~lib/memory/__stack_pointer local.get $11 ) + (func $std/array/ArrayStr#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 42 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/array/Array<~lib/string/String>#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -38747,6 +34678,88 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/array/Array<~lib/string/String>#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store + i32.const 0 + local.set $3 + local.get $0 + i32.load offset=12 + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + local.tee $5 + local.get $0 + i32.load offset=12 + local.tee $6 + local.get $5 + local.get $6 + i32.lt_s + select + i32.lt_s + local.set $5 + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $6 + i32.store offset=4 + local.get $6 + local.get $3 + local.get $0 + i32.const 3 + global.set $~argumentsLength + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $2 + local.get $6 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) (func $~lib/array/Array<~lib/string/String>#shift (param $0 i32) (result i32) (local $1 i32) (local $2 i32) diff --git a/tests/compiler/std/arraybuffer.optimized.wat b/tests/compiler/std/arraybuffer.optimized.wat index 4bbe70f90d..edefbfb8af 100644 --- a/tests/compiler/std/arraybuffer.optimized.wat +++ b/tests/compiler/std/arraybuffer.optimized.wat @@ -42,7 +42,6 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 18228)) (export "memory" (memory $0)) (start $~start) @@ -2030,93 +2029,6 @@ unreachable end ) - (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select - end - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $start:std/arraybuffer (local $0 i32) (local $1 i32) @@ -2176,9 +2088,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 20 i32.sub @@ -2195,16 +2104,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 0 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2233,16 +2136,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2260,16 +2157,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const -1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2287,16 +2178,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 i32.const 3 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2314,16 +2199,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2341,16 +2220,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2368,16 +2241,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store offset=4 local.get $1 i32.const 20 @@ -2395,16 +2262,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 42 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 local.get $0 i32.const 20 @@ -2430,34 +2291,31 @@ end global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - i32.store offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2500,18 +2358,15 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 @@ -2520,29 +2375,27 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $2 i32.load - local.tee $0 + local.tee $1 i32.store offset=16 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - local.set $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2551,58 +2404,28 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $1 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 15 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $2 + local.get $0 i32.const 0 i32.store offset=4 - local.get $2 + local.get $0 i32.const 0 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $2 local.get $1 - local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.gt_u - local.get $1 + local.get $2 i32.const 1073741820 i32.gt_u i32.or @@ -2614,26 +2437,22 @@ call $~lib/builtins/abort unreachable end - local.get $2 local.get $0 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $2 local.get $0 + local.get $1 i32.store offset=4 + local.get $0 local.get $2 - local.get $1 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $0 + i32.store offset=12 i32.const 18228 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state @@ -2674,6 +2493,90 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + end + local.get $1 + i32.sub + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/arraybuffer.untouched.wat b/tests/compiler/std/arraybuffer.untouched.wat index 8b4d252985..73e39580c4 100644 --- a/tests/compiler/std/arraybuffer.untouched.wat +++ b/tests/compiler/std/arraybuffer.untouched.wat @@ -3939,6 +3939,31 @@ local.get $1 i32.store offset=8 ) + (func $~lib/dataview/DataView#constructor@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/dataview/DataView#constructor + ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (param $0 i32) (result i32) i32.const 0 drop @@ -4242,309 +4267,6 @@ unreachable end ) - (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $1 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $1 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $2 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $2 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $2 - local.get $2 - local.get $1 - i32.sub - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - local.get $7 - local.get $0 - local.get $1 - i32.add - local.get $6 - call $~lib/memory/memory.copy - local.get $7 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength - local.get $3 - i32.const 1073741820 - i32.gt_u - local.get $2 - local.get $3 - i32.add - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.gt_u - i32.or - if - i32.const 32 - i32.const 640 - i32.const 25 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/dataview/DataView#set:buffer - local.get $1 - local.get $2 - i32.add - local.set $4 - local.get $0 - local.get $4 - call $~lib/dataview/DataView#set:dataStart - local.get $0 - local.get $3 - call $~lib/dataview/DataView#set:byteLength - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/dataview/DataView#constructor@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/dataview/DataView#constructor - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) (func $start:std/arraybuffer (local $0 i32) (local $1 i32) @@ -4590,11 +4312,6 @@ local.tee $0 i32.store local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 8 i32.eq @@ -4609,22 +4326,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 0 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 8 i32.eq @@ -4651,22 +4358,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 7 i32.eq @@ -4681,22 +4378,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const -1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 1 i32.eq @@ -4711,22 +4398,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 1 i32.const 3 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -4741,22 +4418,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 6 i32.eq @@ -4771,22 +4438,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -4801,22 +4458,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.eq @@ -4831,22 +4478,12 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 i32.const 42 - i32.const 1073741820 - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store offset=8 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 + i32.const 1073741820 + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $1 i32.store offset=4 - local.get $5 + local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 0 i32.eq @@ -4948,7 +4585,7 @@ i32.const 1 call $~lib/typedarray/Uint8Array#constructor local.tee $2 - i32.store offset=12 + i32.store offset=8 i32.const 2 i32.const 2 i32.const 3 @@ -4957,7 +4594,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store offset=4 + i32.store offset=12 local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> i32.eqz @@ -4971,11 +4608,6 @@ unreachable end local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if @@ -4992,7 +4624,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store offset=4 + i32.store offset=12 local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> i32.eqz @@ -5020,7 +4652,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store offset=4 + i32.store offset=12 local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> i32.eqz @@ -5080,6 +4712,105 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $1 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $1 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $2 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $2 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $2 + local.get $2 + local.get $1 + i32.sub + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $7 + local.get $0 + local.get $1 + i32.add + local.get $6 + call $~lib/memory/memory.copy + local.get $7 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -5153,6 +4884,41 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -5205,4 +4971,108 @@ global.set $~lib/memory/__stack_pointer local.get $7 ) + (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength + local.get $3 + i32.const 1073741820 + i32.gt_u + local.get $2 + local.get $3 + i32.add + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.gt_u + i32.or + if + i32.const 32 + i32.const 640 + i32.const 25 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/dataview/DataView#set:buffer + local.get $1 + local.get $2 + i32.add + local.set $4 + local.get $0 + local.get $4 + call $~lib/dataview/DataView#set:dataStart + local.get $0 + local.get $3 + call $~lib/dataview/DataView#set:byteLength + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) ) diff --git a/tests/compiler/std/dataview.optimized.wat b/tests/compiler/std/dataview.optimized.wat index 4db534413b..e348453f22 100644 --- a/tests/compiler/std/dataview.optimized.wat +++ b/tests/compiler/std/dataview.optimized.wat @@ -49,7 +49,6 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 18172)) (export "memory" (memory $0)) (start $~start) @@ -2418,78 +2417,13 @@ unreachable end ) - (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $3 - i32.const 0 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.get $1 - local.get $2 - i32.add - i32.lt_u - local.get $2 - i32.const 1073741820 - i32.gt_u - i32.or - if - i32.const 1056 - i32.const 1632 - i32.const 25 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $3 - local.get $0 - local.get $1 - i32.add - i32.store offset=4 - local.get $3 - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:std/dataview (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2497,8 +2431,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 memory.size i32.const 16 i32.shl @@ -2518,13 +2452,13 @@ global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 @@ -2532,9 +2466,6 @@ local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2587,63 +2518,39 @@ local.get $1 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 i32.const 7 i32.const 95 @@ -2652,10 +2559,7 @@ local.get $1 i32.load local.tee $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 @@ -2667,10 +2571,7 @@ i32.load offset=8 call $~lib/dataview/DataView#constructor local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 i32.const 1 @@ -2685,9 +2586,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -2702,9 +2600,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -2719,9 +2614,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -2736,9 +2628,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -2753,9 +2642,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -2770,9 +2656,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -2787,9 +2670,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -2804,9 +2684,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -2821,9 +2698,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -2838,9 +2712,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -2854,9 +2725,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -2870,9 +2738,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -2886,9 +2751,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt8 @@ -2902,9 +2764,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 call $~lib/dataview/DataView#getInt8 @@ -2918,9 +2777,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 call $~lib/dataview/DataView#getInt8 @@ -2934,9 +2790,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 call $~lib/dataview/DataView#getInt8 @@ -2950,9 +2803,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 call $~lib/dataview/DataView#getInt8 @@ -2966,9 +2816,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 call $~lib/dataview/DataView#getInt8 @@ -2982,9 +2829,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 7 call $~lib/dataview/DataView#getInt8 @@ -2998,9 +2842,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3017,9 +2858,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3036,9 +2874,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3055,9 +2890,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3074,9 +2906,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3093,9 +2922,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -3112,9 +2938,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 i32.const 1 @@ -3131,9 +2954,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3150,9 +2970,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3169,9 +2986,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3188,9 +3002,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -3207,9 +3018,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -3226,9 +3034,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -3245,9 +3050,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 i32.const 0 @@ -3264,9 +3066,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3281,9 +3080,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3298,9 +3094,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3315,9 +3108,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3332,9 +3122,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3349,9 +3136,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3366,9 +3150,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3383,9 +3164,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3400,9 +3178,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -3417,9 +3192,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -3434,9 +3206,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -3450,9 +3219,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -3466,9 +3232,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -3482,9 +3245,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint8 @@ -3498,9 +3258,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 call $~lib/dataview/DataView#getUint8 @@ -3514,9 +3271,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 call $~lib/dataview/DataView#getUint8 @@ -3530,9 +3284,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 call $~lib/dataview/DataView#getUint8 @@ -3546,9 +3297,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 call $~lib/dataview/DataView#getUint8 @@ -3562,9 +3310,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 call $~lib/dataview/DataView#getUint8 @@ -3578,9 +3323,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 7 call $~lib/dataview/DataView#getUint8 @@ -3594,9 +3336,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3613,9 +3352,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3632,9 +3368,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3651,9 +3384,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3670,9 +3400,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3689,9 +3416,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -3708,9 +3432,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 i32.const 1 @@ -3727,9 +3448,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3746,9 +3464,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3765,9 +3480,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3784,9 +3496,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -3803,9 +3512,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -3822,9 +3528,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -3841,9 +3544,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 6 i32.const 0 @@ -3860,9 +3560,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3877,9 +3574,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3894,9 +3588,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3911,9 +3602,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3928,9 +3616,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3945,9 +3630,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3962,9 +3644,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3979,9 +3658,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3996,9 +3672,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -4013,9 +3686,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -4030,9 +3700,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -4046,9 +3713,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -4062,16 +3726,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4086,16 +3744,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4110,16 +3762,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -4133,16 +3779,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -4156,9 +3796,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=8 i32.eqz @@ -4174,9 +3811,6 @@ i32.load offset=4 i32.const 108 i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -4190,16 +3824,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4216,16 +3844,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4242,16 +3864,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4266,16 +3882,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4290,16 +3900,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4313,16 +3917,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -4336,9 +3934,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=8 i32.eqz @@ -4354,9 +3949,6 @@ i32.load offset=4 i32.const 238 i32.store8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -4370,16 +3962,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4396,16 +3982,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4422,16 +4002,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4446,16 +4020,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4470,16 +4038,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -4493,16 +4055,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -4519,57 +4075,21 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.load - local.tee $1 - i32.store offset=8 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.tee $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $0 - end - local.get $1 + local.get $0 i32.const 0 local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 call $~lib/dataview/DataView#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.tee $0 + i32.store offset=8 + local.get $0 i32.load offset=4 - local.get $1 + local.get $0 i32.load i32.sub if @@ -4580,7 +4100,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.load offset=8 i32.const 8 i32.ne @@ -4628,8 +4148,70 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.get $1 + local.get $2 + i32.add + i32.lt_u + local.get $2 + i32.const 1073741820 + i32.gt_u + i32.or + if + i32.const 1056 + i32.const 1632 + i32.const 25 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $3 + local.get $0 + local.get $1 + i32.add + i32.store offset=4 + local.get $3 + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) ) diff --git a/tests/compiler/std/dataview.untouched.wat b/tests/compiler/std/dataview.untouched.wat index 7c4659f1d8..56ef316bc5 100644 --- a/tests/compiler/std/dataview.untouched.wat +++ b/tests/compiler/std/dataview.untouched.wat @@ -3330,6 +3330,31 @@ end i64.store ) + (func $~lib/dataview/DataView#constructor@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $2 + end + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $3 + end + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/dataview/DataView#constructor + ) (func $~lib/dataview/DataView#get:byteOffset (param $0 i32) (result i32) local.get $0 i32.load offset=4 @@ -3481,171 +3506,12 @@ unreachable end ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $0 - i32.const 0 - call $~lib/dataview/DataView#set:byteLength - local.get $3 - i32.const 1073741820 - i32.gt_u - local.get $2 - local.get $3 - i32.add - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.gt_u - i32.or - if - i32.const 32 - i32.const 608 - i32.const 25 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/dataview/DataView#set:buffer - local.get $1 - local.get $2 - i32.add - local.set $4 - local.get $0 - local.get $4 - call $~lib/dataview/DataView#set:dataStart - local.get $0 - local.get $3 - call $~lib/dataview/DataView#set:byteLength - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/dataview/DataView#constructor@varargs (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $2 - end - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/dataview/DataView#constructor - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) (func $start:std/dataview (local $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3653,8 +3519,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 memory.size i32.const 16 i32.shl @@ -3679,74 +3545,34 @@ local.tee $0 i32.store local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set @@ -3757,26 +3583,16 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $2 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $0 i32.load offset=8 call $~lib/dataview/DataView#constructor local.tee $1 - i32.store offset=12 + i32.store offset=8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3792,11 +3608,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3812,11 +3623,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3832,11 +3638,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3852,11 +3653,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3872,11 +3668,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3892,11 +3683,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3912,11 +3698,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3932,11 +3713,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3952,11 +3728,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3972,11 +3743,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -3992,11 +3758,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -4012,11 +3773,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -4031,11 +3787,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -4050,11 +3801,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -4069,11 +3815,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -4088,11 +3829,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -4107,11 +3843,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -4126,11 +3857,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -4145,11 +3871,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -4164,11 +3885,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4188,11 +3904,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4212,11 +3923,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4236,11 +3942,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4260,11 +3961,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4284,11 +3980,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4308,11 +3999,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4332,11 +4018,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4356,11 +4037,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4380,11 +4056,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4404,11 +4075,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4428,11 +4094,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4452,11 +4113,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4476,11 +4132,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4500,11 +4151,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4520,11 +4166,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4540,11 +4181,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4560,11 +4196,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4580,11 +4211,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4600,11 +4226,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4620,11 +4241,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4640,11 +4256,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4660,11 +4271,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4680,11 +4286,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4700,11 +4301,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4720,11 +4316,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -4740,11 +4331,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -4759,11 +4345,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -4778,11 +4359,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -4797,11 +4373,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -4816,11 +4387,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -4835,11 +4401,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -4854,11 +4415,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -4873,11 +4429,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -4892,11 +4443,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4914,11 +4460,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4936,11 +4477,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4958,11 +4494,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4980,11 +4511,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5002,11 +4528,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5024,11 +4545,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5046,11 +4562,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5068,11 +4579,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5090,11 +4596,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5112,11 +4613,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5134,11 +4630,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5156,11 +4647,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5178,11 +4664,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5200,11 +4681,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5220,11 +4696,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5240,11 +4711,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5260,11 +4726,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5280,11 +4741,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5300,11 +4756,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5320,11 +4771,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5340,11 +4786,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5360,11 +4801,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5380,11 +4816,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5400,11 +4831,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -5420,11 +4846,6 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -5440,21 +4861,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -5470,21 +4881,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -5500,21 +4901,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -5530,21 +4921,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $1 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -5560,20 +4941,10 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 108 call $~lib/dataview/DataView#setInt8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -5588,21 +4959,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -5622,21 +4983,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -5656,21 +5007,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -5686,21 +5027,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -5716,21 +5047,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -5746,21 +5067,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -5776,20 +5087,10 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 238 call $~lib/dataview/DataView#setUint8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -5804,21 +5105,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5836,21 +5127,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5868,21 +5149,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5898,21 +5169,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5928,21 +5189,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -5958,21 +5209,11 @@ unreachable end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -5994,7 +5235,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6002,13 +5243,8 @@ i32.const 0 call $~lib/dataview/DataView#constructor@varargs local.tee $1 - i32.store offset=12 + i32.store offset=8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/dataview/DataView#get:byteOffset i32.const 0 i32.eq @@ -6038,7 +5274,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -6115,4 +5351,108 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $0 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength + local.get $3 + i32.const 1073741820 + i32.gt_u + local.get $2 + local.get $3 + i32.add + local.get $1 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.gt_u + i32.or + if + i32.const 32 + i32.const 608 + i32.const 25 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/dataview/DataView#set:buffer + local.get $1 + local.get $2 + i32.add + local.set $4 + local.get $0 + local.get $4 + call $~lib/dataview/DataView#set:dataStart + local.get $0 + local.get $3 + call $~lib/dataview/DataView#set:byteLength + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) ) diff --git a/tests/compiler/std/hash.optimized.wat b/tests/compiler/std/hash.optimized.wat index 6da82ba0c8..e92a86fbfe 100644 --- a/tests/compiler/std/hash.optimized.wat +++ b/tests/compiler/std/hash.optimized.wat @@ -27,22 +27,6 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17788)) (export "memory" (memory $0)) (start $~start) - (func $~start - call $start:std/hash - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 1404 - i32.lt_s - if - i32.const 17808 - i32.const 17856 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $~lib/util/hash/HASH<~lib/string/String|null> (param $0 i32) (local $1 i32) (local $2 i32) @@ -51,22 +35,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 local.tee $1 i32.const 20 @@ -228,10 +198,9 @@ end end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~start + call $start:std/hash ) (func $start:std/hash (local $0 f32) @@ -242,7 +211,17 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 1404 + i32.lt_s + if + i32.const 17808 + i32.const 17856 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 i32.store diff --git a/tests/compiler/std/hash.untouched.wat b/tests/compiler/std/hash.untouched.wat index 018f615805..e31e6cd72d 100644 --- a/tests/compiler/std/hash.untouched.wat +++ b/tests/compiler/std/hash.untouched.wat @@ -30,174 +30,6 @@ i32.const 1 i32.shr_u ) - (func $std/hash/check (param $0 i32) (result i32) - i32.const 1 - ) - (func $~lib/util/hash/HASH (param $0 f32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.eq - drop - local.get $0 - i32.reinterpret_f32 - local.set $1 - i32.const 4 - local.set $2 - i32.const 0 - i32.const 374761393 - i32.add - local.get $2 - i32.add - local.set $3 - local.get $3 - local.get $1 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/util/hash/HASH (param $0 f64) (result i32) - (local $1 i64) - (local $2 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.eq - drop - i32.const 8 - i32.const 8 - i32.eq - drop - local.get $0 - i64.reinterpret_f64 - local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - return - ) - (func $~start - call $start:std/hash - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 16784 - i32.const 16832 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $~lib/util/hash/HASH<~lib/string/String|null> (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -211,22 +43,11 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 - i32.store + local.set $1 local.get $1 i32.const 0 i32.eq @@ -235,11 +56,6 @@ br $~lib/util/hash/hashStr|inlined.0 end local.get $1 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=4 - local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -466,14 +282,11 @@ local.set $2 local.get $2 end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 return ) + (func $std/hash/check (param $0 i32) (result i32) + i32.const 1 + ) (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -487,22 +300,11 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 1 drop block $~lib/util/hash/hashStr|inlined.1 (result i32) - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 - i32.store + local.set $1 local.get $1 i32.const 0 i32.eq @@ -511,11 +313,6 @@ br $~lib/util/hash/hashStr|inlined.1 end local.get $1 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=4 - local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -742,14 +539,173 @@ local.set $2 local.get $2 end - local.set $13 - global.get $~lib/memory/__stack_pointer + return + ) + (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $0 + i32.reinterpret_f32 + local.set $1 + i32.const 4 + local.set $2 + i32.const 0 + i32.const 374761393 + i32.add + local.get $2 + i32.add + local.set $3 + local.get $3 + local.get $1 + i32.const -1028477379 + i32.mul + i32.add + local.set $3 + local.get $3 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -2048144777 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -1028477379 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + return + ) + (func $~lib/util/hash/HASH (param $0 f64) (result i32) + (local $1 i64) + (local $2 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 + local.set $2 + local.get $2 + local.get $1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 return ) + (func $~start + call $start:std/hash + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 16784 + i32.const 16832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $start:std/hash (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/map.optimized.wat b/tests/compiler/std/map.optimized.wat index bb737a8ee1..d14215a39c 100644 --- a/tests/compiler/std/map.optimized.wat +++ b/tests/compiler/std/map.optimized.wat @@ -1,9 +1,9 @@ (module (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) @@ -1907,6 +1907,15 @@ end i32.const 0 ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2024,6 +2033,25 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + ) (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -2294,6 +2322,42 @@ i32.store offset=8 end ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $1 + local.get $0 + i32.load offset=4 + i32.add + local.get $2 + i32.store8 + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2303,6 +2367,44 @@ local.get $1 i32.store offset=12 ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2638,6 +2740,65 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if + return + end + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.or + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $2 + call $~lib/map/Map#rehash + end + ) (func $~lib/map/Map#clear (param $0 i32) local.get $0 i32.const 16 @@ -2660,39 +2821,9 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2700,8 +2831,9 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2709,308 +2841,250 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl + i32.const 24 i32.const 3 - i32.div_s - local.tee $5 - i32.const 12 - i32.mul + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + call $~lib/map/Map#set:buckets + local.get $1 + i32.const 3 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load8_u - local.tee $7 - i32.store8 - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $8 - i32.const 12 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 - local.get $5 + local.get $1 + i32.const 4 i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 + local.get $1 + i32.const 0 i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne + loop $for-loop|1 + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and + local.get $1 + local.get $2 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $8 - i32.load8_u - local.tee $7 - i32.store8 - local.get $2 - local.get $8 - i32.load8_u offset=1 - i32.store8 offset=1 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 + i32.const 0 + i32.const 1568 i32.const 8 - i32.add - local.set $2 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $8 - i32.const 8 + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 i32.add - local.set $8 - br $while-continue|0 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 end end - local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $2 + loop $for-loop|3 + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - else - local.get $0 - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq + i32.const 1568 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.add + i32.ne if - local.get $0 - return + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $1 local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 20 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|3 end end + local.get $1 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3020,239 +3094,425 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $5 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul + local.get $5 + local.get $4 + call $~lib/memory/memory.fill + local.get $2 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $2 + local.get $5 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + loop $for-loop|0 local.get $4 - local.get $8 - i32.ne + local.get $6 + i32.gt_s if local.get $8 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $5 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $8 - i32.load16_s - local.tee $7 - i32.store16 - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 + local.get $0 + local.get $5 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 i32.add - local.set $2 + local.set $0 end - local.get $8 - i32.const 12 + local.get $6 + i32.const 1 i32.add - local.set $8 - br $while-continue|0 + local.set $6 + br $for-loop|0 end end + local.get $2 local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + call $~lib/map/Map#values + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl + i32.const 24 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 + call $~lib/map/Map#set:buckets + local.get $4 i32.const 3 - i32.shl + i32.store offset=4 + local.get $4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $4 + i32.const 4 + i32.store offset=12 + local.get $4 + i32.const 0 + i32.store offset=16 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=16 + loop $for-loop|4 + local.get $3 + local.get $2 + i32.load offset=12 + i32.lt_s if - local.get $8 + local.get $3 + local.get $2 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $2 i32.load offset=4 - i32.const 1 - i32.and + i32.add + i32.load8_s + local.set $0 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + local.set $6 + local.get $1 + local.get $0 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $8 - i32.load16_s - local.tee $7 - i32.store16 - local.get $2 - local.get $8 - i32.load16_s offset=2 - i32.store16 offset=2 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 + i32.const 0 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $8 - i32.const 8 + local.get $1 + local.get $6 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $0 + local.get $0 + call $~lib/map/Map#set + local.get $5 + local.get $6 + i32.const 20 + i32.sub + local.tee $0 + local.get $0 + call $~lib/map/Map#set + local.get $3 + i32.const 1 i32.add - local.set $8 - br $while-continue|0 + local.set $3 + br $for-loop|4 end end - local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 + local.get $4 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 i32.load offset=20 - i32.store offset=16 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|6 + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|6 + end + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|8 + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|8 + end + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/map/Map#clear + local.get $1 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) local.get $0 - i32.const 65535 + i32.const 255 i32.and i32.const -1028477379 i32.mul - i32.const 374761395 + i32.const 374761394 i32.add i32.const 17 i32.rotl @@ -3278,7 +3538,16 @@ i32.shr_u i32.xor ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3340,9 +3609,9 @@ if local.get $2 local.get $8 - i32.load16_u + i32.load8_u local.tee $7 - i32.store16 + i32.store8 local.get $2 local.get $8 i32.load offset=4 @@ -3350,7 +3619,7 @@ local.get $2 local.get $6 local.get $7 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and i32.const 2 @@ -3395,7 +3664,26 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3457,17 +3745,17 @@ if local.get $2 local.get $8 - i32.load16_u + i32.load8_u local.tee $7 - i32.store16 + i32.store8 local.get $2 local.get $8 - i32.load16_u offset=2 - i32.store16 offset=2 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $2 local.get $6 local.get $7 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and i32.const 2 @@ -3512,48 +3800,68 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if + return + end + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.or + i32.store offset=8 local.get $0 - i32.load - local.get $2 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 local.get $0 i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 i32.add - i32.load - local.set $0 - loop $while-continue|0 + i32.const 4 + local.get $0 + i32.load offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i32.load - i32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $2 + call $~lib/map/Map#rehash end - i32.const 0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3561,8 +3869,9 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3570,316 +3879,236 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load - local.tee $7 - i32.store - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $8 - i32.const 12 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 + i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl + call $~lib/map/Map#set:buckets + local.get $1 i32.const 3 - i32.div_s - local.tee $5 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul + local.get $1 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $1 + i32.const 4 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|1 + local.get $2 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u if - local.get $8 - i32.load offset=8 - i32.const 1 + local.get $1 + local.get $2 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + local.get $2 + i32.const 255 i32.and + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $8 - i32.load - local.tee $7 - i32.store - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 - i32.add - local.set $2 + i32.const 0 + i32.const 1568 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $8 - i32.const 12 + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 255 + i32.and + i32.const 10 i32.add - local.set $8 - br $while-continue|0 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 end end - local.get $0 - local.get $6 - call $~lib/map/Map#set:buckets - local.get $0 local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i32) - local.get $0 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $0 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 - local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 - local.get $1 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $2 + loop $for-loop|3 + local.get $2 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u if - local.get $0 - i32.load offset=12 - local.tee $2 - i32.const 1 + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 255 i32.and - if (result i32) + i32.const 10 + i32.add + i32.ne + if i32.const 0 - else - local.get $1 - local.get $0 - i64.load - i64.eq + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $1 + local.get $2 + local.get $2 + i32.const 255 + i32.and + i32.const 20 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz if - local.get $0 - return + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $1 local.get $2 - i32.const -2 + call $~lib/map/Map#get + local.get $2 + i32.const 255 i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|3 + end + end + local.get $1 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3889,565 +4118,445 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 i32.store + local.get $2 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 0 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $4 + call $~lib/memory/memory.fill local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 4 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $2 + local.get $5 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 4 - i32.shl + local.get $2 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + loop $for-loop|0 + local.get $4 local.get $6 - local.get $9 - i32.ne + i32.gt_s if - local.get $9 - i32.load offset=12 + local.get $8 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $5 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $9 - i32.load offset=8 - i32.store offset=8 - local.get $2 - local.get $8 + local.get $0 local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=12 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 16 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 i32.add - local.set $2 + local.set $0 end - local.get $9 - i32.const 16 + local.get $6 + i32.const 1 i32.add - local.set $9 - br $while-continue|0 + local.set $6 + br $for-loop|0 end end + local.get $2 local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + call $~lib/map/Map#values + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 i32.const 24 - i32.mul + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + call $~lib/map/Map#set:buckets + local.get $4 + i32.const 3 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $9 - i64.load offset=8 - i64.store offset=8 - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=16 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 24 - i32.add - local.set $2 - end - local.get $9 - i32.const 24 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#clear (param $0 i32) - local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 64 + local.get $4 + i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $4 i32.const 4 i32.store offset=12 - local.get $0 + local.get $4 i32.const 0 i32.store offset=16 - local.get $0 + local.get $4 i32.const 0 i32.store offset=20 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=16 + loop $for-loop|4 + local.get $3 + local.get $2 + i32.load offset=12 + i32.lt_s if - local.get $0 + local.get $3 + local.get $2 i32.load offset=12 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load - i64.eq - end + i32.ge_u if - local.get $0 - return + i32.const 1248 + i32.const 1728 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end + local.get $3 local.get $2 - i32.const -2 - i32.and + i32.load offset=4 + i32.add + i32.load8_u local.set $0 - br $while-continue|0 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + local.set $6 + local.get $1 + local.get $0 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $6 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $0 + local.get $0 + call $~lib/map/Map#set + local.get $5 + local.get $6 + i32.const 20 + i32.sub + local.tee $0 + local.get $0 + call $~lib/map/Map#set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 end end + local.get $4 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 4 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 4 - i32.shl - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne + local.set $3 + loop $for-loop|6 + local.get $3 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u if - local.get $9 - i32.load offset=12 + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 + i32.const 255 + i32.and + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 1 + i32.add + local.set $3 + br $for-loop|6 + end + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|8 + local.get $3 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + local.get $3 + i32.const 255 i32.and + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $9 - i32.load offset=8 - i32.store offset=8 - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=12 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 16 - i32.add - local.set $2 + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $9 - i32.const 16 + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 i32.add - local.set $9 - br $while-continue|0 + local.set $3 + br $for-loop|8 end end - local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 i32.load offset=20 - i32.store offset=16 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/map/Map#clear + local.get $1 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + local.get $0 + i32.const 16 i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $9 - i64.load offset=8 - i64.store offset=8 - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=16 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 24 - i32.add - local.set $2 - end - local.get $9 - i32.const 24 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/hash/HASH (param $0 f32) (result i32) - (local $1 i32) - local.get $0 - i32.reinterpret_f32 + i32.const 16 + i32.shr_s i32.const -1028477379 i32.mul - i32.const 374761397 + i32.const 374761395 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u i32.xor ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load local.get $2 @@ -4470,10 +4579,12 @@ if (result i32) i32.const 0 else - local.get $1 local.get $0 - f32.load - f32.eq + i32.load16_u + local.get $1 + i32.const 65535 + i32.and + i32.eq end if local.get $0 @@ -4488,15 +4599,23 @@ end i32.const 0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4513,7 +4632,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -4521,7 +4640,7 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -4529,48 +4648,48 @@ i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $9 + local.tee $8 local.get $0 i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $6 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 - local.get $6 - local.get $9 + local.get $4 + local.get $8 i32.ne if - local.get $9 + local.get $8 i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 - f32.load - local.tee $5 - f32.store + local.get $8 + i32.load16_s + local.tee $7 + i32.store16 local.get $2 - local.get $9 + local.get $8 i32.load offset=4 i32.store offset=4 local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH + local.get $6 + local.get $7 + call $~lib/util/hash/HASH local.get $1 i32.and i32.const 2 i32.shl i32.add - local.tee $4 + local.tee $7 i32.load i32.store offset=8 - local.get $4 + local.get $7 local.get $2 i32.store local.get $2 @@ -4578,15 +4697,15 @@ i32.add local.set $2 end - local.get $9 + local.get $8 i32.const 12 i32.add - local.set $9 + local.set $8 br $while-continue|0 end end local.get $0 - local.get $8 + local.get $6 call $~lib/map/Map#set:buckets local.get $0 local.get $1 @@ -4595,7 +4714,7 @@ local.get $3 call $~lib/map/Map#set:entries local.get $0 - local.get $7 + local.get $5 i32.store offset=12 local.get $0 local.get $0 @@ -4606,15 +4725,80 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4631,7 +4815,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer local.get $2 @@ -4639,72 +4823,72 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 - i32.const 12 - i32.mul + local.tee $5 + i32.const 3 + i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store offset=4 local.get $0 i32.load offset=8 - local.tee $9 + local.tee $8 local.get $0 i32.load offset=16 - i32.const 12 - i32.mul + i32.const 3 + i32.shl i32.add - local.set $6 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 - local.get $6 - local.get $9 + local.get $4 + local.get $8 i32.ne if - local.get $9 - i32.load offset=8 + local.get $8 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 - f32.load - local.tee $5 - f32.store - local.get $2 - local.get $9 - f32.load offset=4 - f32.store offset=4 + local.get $8 + i32.load16_s + local.tee $7 + i32.store16 local.get $2 local.get $8 - local.get $5 - call $~lib/util/hash/HASH + i32.load16_s offset=2 + i32.store16 offset=2 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH local.get $1 i32.and i32.const 2 i32.shl i32.add - local.tee $4 + local.tee $7 i32.load - i32.store offset=8 - local.get $4 + i32.store offset=4 + local.get $7 local.get $2 i32.store local.get $2 - i32.const 12 + i32.const 8 i32.add local.set $2 end - local.get $9 - i32.const 12 + local.get $8 + i32.const 8 i32.add - local.set $9 + local.set $8 br $while-continue|0 end end local.get $0 - local.get $8 + local.get $6 call $~lib/map/Map#set:buckets local.get $0 local.get $1 @@ -4713,7 +4897,7 @@ local.get $3 call $~lib/map/Map#set:entries local.get $0 - local.get $7 + local.get $5 i32.store offset=12 local.get $0 local.get $0 @@ -4724,104 +4908,79 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/hash/HASH (param $0 f64) (result i32) - (local $1 i32) - (local $2 i64) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - i64.reinterpret_f64 - local.tee $2 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.tee $1 + i32.eqz + if + return + end local.get $1 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + local.get $1 + i32.load offset=8 + i32.const 1 + i32.or + i32.store offset=8 local.get $0 - i32.load - local.get $2 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 local.get $0 i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 i32.add - i32.load - local.set $0 - loop $while-continue|0 + i32.const 4 + local.get $0 + i32.load offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) local.get $0 - if - local.get $0 - i32.load offset=12 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - f64.load - f64.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $2 + call $~lib/map/Map#rehash end - i32.const 0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -4829,115 +4988,250 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 i32.const 4 - i32.shl + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + call $~lib/map/Map#set:buckets + local.get $1 + i32.const 3 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $1 + i32.const 4 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.shl i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|1 + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s if - local.get $9 - i32.load offset=12 - i32.const 1 - i32.and + local.get $1 + local.get $2 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $9 - f64.load - local.tee $5 - f64.store - local.get $2 - local.get $9 - i32.load offset=8 - i32.store offset=8 - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=12 - local.get $4 - local.get $2 - i32.store - local.get $2 + i32.const 0 + i32.const 1568 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $2 + loop $for-loop|3 + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s + if + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 i32.const 16 - i32.add - local.set $2 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $9 + local.get $1 + local.get $2 + local.get $2 i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 20 i32.add - local.set $9 - br $while-continue|0 + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|3 end end - local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 i32.load offset=20 - i32.store offset=16 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.load offset=8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4947,222 +5241,112 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 i32.store - global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 0 i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $7 + call $~lib/memory/memory.fill + local.get $2 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $2 + local.get $5 + i32.store offset=4 + local.get $2 + local.get $7 + i32.store offset=8 + local.get $2 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + loop $for-loop|0 + local.get $4 local.get $6 - local.get $9 - i32.ne + i32.gt_s if local.get $9 - i32.load offset=16 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $5 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $9 - f64.load - local.tee $5 - f64.store - local.get $2 - local.get $9 - f64.load offset=8 - f64.store offset=8 - local.get $2 - local.get $8 + local.get $0 local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=16 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 24 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 i32.add - local.set $2 + local.set $0 end - local.get $9 - i32.const 24 + local.get $6 + i32.const 1 i32.add - local.set $9 - br $while-continue|0 + local.set $6 + br $for-loop|0 end end + local.get $2 local.get $0 - local.get $8 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - ) - (func $~start - memory.size - i32.const 16 - i32.shl - i32.const 18404 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1168 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1200 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1344 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - ) - (func $~stack_check + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/map/Map#values + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 2020 - i32.lt_s - if - i32.const 18432 - i32.const 18480 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5172,238 +5356,357 @@ i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 24 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $4 i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + local.get $4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $4 + i32.const 3 + i32.store offset=4 + local.get $4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $4 + i32.const 4 + i32.store offset=12 + local.get $4 i32.const 0 - i32.ne + i32.store offset=16 + local.get $4 + i32.const 0 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 local.get $4 - call $~lib/map/Map#find - local.tee $3 - if + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=16 + loop $for-loop|4 local.get $3 local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 i32.load offset=12 - i32.eq + i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $2 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $0 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + local.set $6 + local.get $1 local.get $0 - i32.store + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $6 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 local.get $0 local.get $0 - i32.load offset=20 + call $~lib/map/Map#set + local.get $5 + local.get $6 + i32.const 20 + i32.sub + local.tee $0 local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + call $~lib/map/Map#set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store8 - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz + local.get $4 + i32.load offset=20 + i32.const 100 + i32.ne if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 0 + i32.const 1568 + i32.const 36 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + local.get $5 + i32.load offset=20 + i32.const 100 + i32.ne if - local.get $1 i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable + i32.const 1568 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|6 + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|6 end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if i32.const 0 - call $~lib/array/ensureSize - local.get $0 + i32.const 1568 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|8 local.get $3 - i32.store offset=12 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|8 + end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $1 - local.get $0 - i32.load offset=4 - i32.add - local.get $2 - i32.store8 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/map/Map#clear + local.get $1 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.set $0 + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -5413,168 +5716,133 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new + local.get $1 + i32.const 1 + i32.add local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__new + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store offset=4 - local.get $3 - local.get $0 - call $~lib/memory/memory.fill - local.get $2 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $2 - local.get $3 - i32.store offset=4 - local.get $2 local.get $0 - i32.store offset=8 - local.get $2 + i32.load offset=8 + local.tee $8 local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=16 + i32.const 12 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - loop $for-loop|0 - local.get $0 + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 local.get $4 - i32.gt_s + local.get $8 + i32.ne if - local.get $5 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $3 + local.get $8 i32.load offset=8 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer local.get $2 + local.get $8 + i32.load16_u + local.tee $7 + i32.store16 + local.get $2 + local.get $8 + i32.load offset=4 i32.store offset=4 local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH local.get $1 - local.get $3 - i32.load8_s - call $~lib/array/Array#__set - local.get $1 - i32.const 1 + i32.and + i32.const 2 + i32.shl i32.add - local.set $1 + local.tee $7 + i32.load + i32.store offset=8 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 end - local.get $4 - i32.const 1 + local.get $8 + i32.const 12 i32.add - local.set $4 - br $for-loop|0 + local.set $8 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 + local.get $6 + call $~lib/map/Map#set:buckets + local.get $0 local.get $1 - call $~lib/array/Array#set:length + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.load offset=12 - i32.ge_u + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -5583,417 +5851,180 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer + local.tee $8 local.get $0 i32.load offset=16 - local.tee $4 - call $~lib/array/Array#constructor - local.tee $0 - i32.store - loop $for-loop|0 - local.get $2 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 local.get $4 - i32.lt_s + local.get $8 + i32.ne if - local.get $3 - local.get $2 - i32.const 12 - i32.mul - i32.add - local.tee $5 - i32.load offset=8 + local.get $8 + i32.load offset=4 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $5 - i32.load offset=4 - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 + local.get $2 + local.get $8 + i32.load16_u + local.tee $7 + i32.store16 + local.get $2 + local.get $8 + i32.load16_u offset=2 + i32.store16 offset=2 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 end - local.get $2 - i32.const 1 + local.get $8 + i32.const 8 i32.add - local.set $2 - br $for-loop|0 + local.set $8 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $6 + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/array/Array#set:length + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 - global.get $~lib/memory/__stack_pointer + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - i32.store local.get $1 - local.set $3 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if + return + end + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.or + i32.store offset=8 local.get $0 - i32.load - local.get $5 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 local.get $0 i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 i32.add - i32.load - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u - local.get $3 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end + i32.const 4 + local.get $0 + i32.load offset=20 + local.tee $1 local.get $1 - if - local.get $1 - local.get $2 - i32.store8 offset=1 - else + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) local.get $0 - i32.load offset=16 + i32.load offset=20 local.get $0 i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $1 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $1 - local.get $4 i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $3 - i32.store8 - local.get $1 - local.get $2 - i32.store8 offset=1 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $1 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if local.get $0 - local.get $1 - i32.store + local.get $2 + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.or - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $1 - local.get $1 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -6004,8 +6035,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6017,51 +6048,46 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 14 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $0 + local.get $1 i32.const 3 i32.store offset=4 - local.get $0 + local.get $1 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $1 i32.const 4 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store offset=16 - local.get $0 + local.get $1 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store loop $for-loop|1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + i32.const 65535 + i32.and i32.const 100 - i32.lt_s + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6070,25 +6096,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + local.get $2 + i32.const 65535 + i32.and i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6098,17 +6116,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 65535 + i32.and i32.const 10 i32.add i32.ne @@ -6120,17 +6133,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -6143,22 +6153,17 @@ unreachable end i32.const 0 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + i32.const 65535 + i32.and i32.const 100 - i32.lt_s + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6168,17 +6173,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 65535 + i32.and i32.const 10 i32.add i32.ne @@ -6190,25 +6190,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + local.get $2 + i32.const 65535 + i32.and i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6218,17 +6210,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 65535 + i32.and i32.const 20 i32.add i32.ne @@ -6240,17 +6227,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -6263,21 +6247,135 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.load offset=8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 0 i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $3 + local.get $4 + i32.const 1 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $7 + call $~lib/memory/memory.fill + local.get $2 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $2 + local.get $5 + i32.store offset=4 + local.get $2 + local.get $7 i32.store offset=8 + local.get $2 + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $9 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $5 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $0 + local.get $5 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $2 local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6289,54 +6387,48 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 6 + i32.const 16 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.store - local.get $1 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $1 + local.get $4 i32.const 3 i32.store offset=4 - local.get $1 + local.get $4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $1 + local.get $4 i32.const 4 i32.store offset=12 - local.get $1 + local.get $4 i32.const 0 i32.store offset=16 - local.get $1 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 + local.tee $5 + i32.store offset=16 loop $for-loop|4 - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store offset=4 local.get $2 - local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store offset=4 local.get $2 - local.get $3 i32.load offset=12 i32.ge_u if @@ -6348,24 +6440,20 @@ unreachable end local.get $2 - local.get $3 i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl i32.add - i32.load8_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 + i32.load16_u + local.set $0 + local.get $7 + local.get $3 call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.set $6 + local.get $1 local.get $0 - local.get $5 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6375,14 +6463,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6392,34 +6477,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 local.get $4 - local.get $7 + local.get $0 + local.get $0 + call $~lib/map/Map#set + local.get $5 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $0 + local.get $0 call $~lib/map/Map#set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -6431,10 +6507,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -6447,22 +6520,17 @@ unreachable end i32.const 0 - local.set $2 + local.set $3 loop $for-loop|6 - local.get $2 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $3 + i32.const 65535 + i32.and i32.const 50 - i32.lt_s + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6472,17 +6540,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#get - local.get $2 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 + i32.const 65535 + i32.and i32.const 20 i32.add i32.ne @@ -6494,18 +6557,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6514,17 +6571,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|6 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -6537,22 +6591,17 @@ unreachable end i32.const 0 - local.set $2 + local.set $3 loop $for-loop|8 - local.get $2 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $3 + i32.const 65535 + i32.and i32.const 50 - i32.lt_s + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6561,25 +6610,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $2 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $1 + local.get $3 + local.get $3 + i32.const 65535 + i32.and i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6589,18 +6630,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6609,17 +6644,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|8 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 50 i32.ne @@ -6631,15 +6663,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 if i32.const 0 @@ -6650,2772 +6676,646 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store + i32.load offset=4 + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $1 + i32.eqz if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store8 - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.or + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.store offset=20 local.get $0 - i32.store + i32.load offset=4 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 + i32.add + i32.const 4 local.get $0 + i32.load offset=20 + local.tee $1 local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + call $~lib/map/Map#rehash end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $std/map/testNumeric + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - call $~lib/memory/memory.fill - local.get $2 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $2 - local.get $3 - i32.store offset=4 - local.get $2 - local.get $0 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + call $~lib/map/Map#constructor + local.tee $1 i32.store loop $for-loop|0 - local.get $0 - local.get $4 - i32.gt_s + local.get $2 + i32.const 100 + i32.lt_s if - local.get $5 - local.get $4 - i32.const 12 - i32.mul + local.get $1 + local.get $2 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + local.get $2 + i32.const 10 i32.add - local.tee $3 - i32.load offset=8 - i32.const 1 - i32.and + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $3 - i32.load8_u - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 + i32.const 0 + i32.const 1568 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $4 + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 10 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 local.get $1 - call $~lib/array/Array#set:length + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + i32.const 100 + i32.lt_s + if + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 10 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + local.get $2 + i32.const 20 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $2 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + call $~lib/map/Map#get + local.get $2 + i32.const 20 + i32.add + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $1 - call $~lib/util/hash/HASH - local.set $5 + i32.load offset=8 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $1 - local.set $3 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 + i32.load offset=16 + local.tee $7 + call $~lib/array/Array#constructor + local.tee $2 + i32.store + loop $for-loop|01 + local.get $4 + local.get $7 + i32.lt_s + if + local.get $6 + local.get $4 + i32.const 12 + i32.mul + i32.add + local.tee $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz if - local.get $1 - i32.load offset=4 - local.tee $4 + local.get $2 + local.get $0 + local.get $8 + i32.load + call $~lib/array/Array#__set + local.get $0 i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u - local.get $3 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 + i32.add + local.set $0 end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|01 end - i32.const 0 - local.set $1 end + local.get $2 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - if - local.get $1 + call $~lib/map/Map#values + local.tee $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=16 + loop $for-loop|2 + local.get $3 local.get $2 - i32.store8 offset=1 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $1 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $3 - i32.store8 - local.get $1 - local.get $2 - i32.store8 offset=1 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $1 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $1 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.or - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $1 - local.get $1 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|1 - local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.const 255 - i32.and - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 255 - i32.and - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 255 - i32.and - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.const 255 - i32.and - i32.const 20 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 255 - i32.and - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|3 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $1 - i32.const 3 - i32.store offset=4 - local.get $1 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $1 - i32.const 4 - i32.store offset=12 - local.get $1 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 - loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $2 - local.get $3 - i32.load offset=12 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $2 - local.get $3 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $3 - i32.load offset=4 - i32.add - i32.load8_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $7 - i32.const 20 - i32.sub - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $7 - i32.const 20 - i32.sub - local.tee $5 - local.get $5 - call $~lib/map/Map#set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|4 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $2 - loop $for-loop|6 - local.get $2 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#get - local.get $2 - i32.const 255 - i32.and - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|6 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $2 - loop $for-loop|8 - local.get $2 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $2 - i32.const 255 - i32.and - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|8 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store16 - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $2 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i32.load16_s - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.set $3 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u - local.get $3 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - local.get $1 - local.get $2 - i32.store16 offset=2 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $1 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $3 - i32.store16 - local.get $1 - local.get $2 - i32.store16 offset=2 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $1 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $1 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.or - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $1 - local.get $1 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 20 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|3 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $3 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $1 - i32.const 3 - i32.store offset=4 - local.get $1 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $1 - i32.const 4 - i32.store offset=12 - local.get $1 - i32.const 0 - i32.store offset=16 - local.get $1 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 - loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $2 - local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 local.get $2 local.get $3 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load offset=4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.set $0 local.get $7 - i32.const 20 - i32.sub - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $3 + call $~lib/array/Array#__get + local.set $6 local.get $1 - local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $7 - i32.const 20 - i32.sub - local.tee $5 - local.get $5 - call $~lib/map/Map#set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|4 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $2 - loop $for-loop|6 - local.get $2 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 50 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $0 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 41 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#get - local.get $2 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + local.get $1 + local.get $6 i32.const 20 - i32.add - i32.ne + i32.sub + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 42 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $4 local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + call $~lib/map/Map#set + local.get $5 + local.get $6 + i32.const 20 + i32.sub + local.tee $0 local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 + call $~lib/map/Map#set + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|6 + local.set $3 + br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $4 i32.load offset=20 - i32.const 50 + i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 46 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 37 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 - local.set $2 - loop $for-loop|8 - local.get $2 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + local.set $3 + loop $for-loop|3 + local.get $3 i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 50 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $2 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 10 + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 + i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - i32.eqz + i32.ne if i32.const 0 i32.const 1568 - i32.const 52 + i32.const 42 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 54 + i32.const 44 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|8 + local.set $3 + br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 50 i32.ne if i32.const 0 i32.const 1568 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 60 + i32.const 46 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|4 + local.get $3 + i32.const 50 + i32.lt_s + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end - call $~lib/map/Map#rehash + local.get $1 + local.get $3 + local.get $3 + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store16 - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz + i32.load offset=20 + i32.const 50 + i32.ne if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 0 + i32.const 1568 + i32.const 56 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 536870910 - i32.gt_u + local.get $1 + call $~lib/map/Map#clear + local.get $1 + i32.load offset=20 if - i32.const 1456 - i32.const 1728 - i32.const 58 + i32.const 0 + i32.const 1568 i32.const 60 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $2 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 i32.load offset=8 + local.tee $2 i32.const 1 i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer + if (result i32) + i32.const 0 + else + local.get $1 local.get $0 - i32.store offset=4 + i32.load + i32.eq + end + if local.get $0 - local.get $1 - local.get $2 - i32.load16_u - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 + return end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9424,169 +7324,253 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $1 - local.set $3 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and + i32.const 1 + i32.add + local.tee $2 i32.const 2 i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul i32.add - i32.load - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz if - local.get $1 + local.get $2 + local.get $8 + i32.load + local.tee $7 + i32.store + local.get $2 + local.get $8 i32.load offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u - local.get $3 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 + i32.store offset=4 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - local.get $1 - local.get $2 - i32.store16 offset=2 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 + i32.const 2 i32.shl - i32.const 1 - i32.or + i32.add + local.tee $7 + i32.load + i32.store offset=8 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 end - call $~lib/map/Map#rehash + local.get $8 + i32.const 12 + i32.add + local.set $8 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $1 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $3 - i32.store16 - local.get $1 - local.get $2 - i32.store16 offset=2 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $1 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $1 - i32.store end + local.get $0 + local.get $6 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load + local.tee $7 + i32.store + local.get $2 + local.get $8 + i32.load offset=4 + i32.store offset=4 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=8 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 + end + local.get $8 + i32.const 12 + i32.add + local.set $8 + br $while-continue|0 + end + end + local.get $0 + local.get $6 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -9631,19 +7615,12 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) @@ -9652,8 +7629,11 @@ (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -9664,8 +7644,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9677,49 +7657,44 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 14 + i32.const 17 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $0 + local.get $1 i32.const 3 i32.store offset=4 - local.get $0 + local.get $1 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $1 i32.const 4 i32.store offset=12 - local.get $0 + local.get $1 i32.const 0 i32.store offset=16 - local.get $0 + local.get $1 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store - loop $for-loop|1 - local.get $1 - i32.const 65535 - i32.and + loop $for-loop|0 + local.get $2 i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -9728,23 +7703,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - local.get $1 - i32.const 65535 - i32.and + local.get $2 + local.get $2 i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9754,15 +7721,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get local.get $1 - i32.const 65535 - i32.and + local.get $2 + call $~lib/map/Map#get + local.get $2 i32.const 10 i32.add i32.ne @@ -9774,17 +7736,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -9797,20 +7756,15 @@ unreachable end i32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i32.const 65535 - i32.and + local.set $2 + loop $for-loop|1 + local.get $2 i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9820,15 +7774,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get local.get $1 - i32.const 65535 - i32.and + local.get $2 + call $~lib/map/Map#get + local.get $2 i32.const 10 i32.add i32.ne @@ -9840,23 +7789,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 local.get $1 - i32.const 65535 - i32.and + local.get $2 + local.get $2 i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set local.get $1 - call $~lib/map/Map#has + local.get $2 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9866,15 +7807,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get local.get $1 - i32.const 65535 - i32.and + local.get $2 + call $~lib/map/Map#get + local.get $2 i32.const 20 i32.add i32.ne @@ -9886,17 +7822,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|3 + local.set $2 + br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=20 i32.const 100 i32.ne @@ -9909,21 +7842,135 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.load offset=8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 0 i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $3 + local.get $4 + i32.const 2 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $7 + call $~lib/memory/memory.fill + local.get $2 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $2 + local.get $5 + i32.store offset=4 + local.get $2 + local.get $7 i32.store offset=8 + local.get $2 + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + loop $for-loop|01 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $9 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $5 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $0 + local.get $5 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $2 local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9935,54 +7982,48 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 16 + i32.const 19 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.store - local.get $1 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $1 + local.get $4 i32.const 3 i32.store offset=4 - local.get $1 - i32.const 32 + local.get $4 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $1 + local.get $4 i32.const 4 i32.store offset=12 - local.get $1 + local.get $4 i32.const 0 i32.store offset=16 - local.get $1 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 - loop $for-loop|4 - global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.store offset=16 + loop $for-loop|2 local.get $3 - i32.store offset=4 local.get $2 - local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store offset=4 local.get $2 - local.get $3 i32.load offset=12 i32.ge_u if @@ -9993,27 +8034,21 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.load offset=4 local.get $2 - i32.const 1 + i32.load offset=4 + local.get $3 + i32.const 2 i32.shl i32.add - i32.load16_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 + i32.load + local.set $0 + local.get $7 + local.get $3 call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.set $6 + local.get $1 local.get $0 - local.get $5 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10023,14 +8058,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $7 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10040,34 +8072,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 local.get $4 - local.get $7 + local.get $0 + local.get $0 + call $~lib/map/Map#set + local.get $5 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $0 + local.get $0 call $~lib/map/Map#set - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|4 + local.set $3 + br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -10079,10 +8102,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10095,20 +8115,15 @@ unreachable end i32.const 0 - local.set $2 - loop $for-loop|6 - local.get $2 - i32.const 65535 - i32.and + local.set $3 + loop $for-loop|3 + local.get $3 i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10118,15 +8133,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#get - local.get $2 - i32.const 65535 - i32.and + local.get $1 + local.get $3 + call $~lib/map/Map#get + local.get $3 i32.const 20 i32.add i32.ne @@ -10138,18 +8148,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -10158,233 +8162,525 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|6 + local.set $3 + br $for-loop|3 + end + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|4 + local.get $3 + i32.const 50 + i32.lt_u + if + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + local.get $3 + i32.const 10 + i32.add + call $~lib/map/Map#set + local.get $1 + local.get $3 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $3 + call $~lib/map/Map#delete + local.get $1 + local.get $3 + call $~lib/map/Map#has + if + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 + end + end + local.get $1 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/map/Map#clear + local.get $1 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i32) + local.get $0 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $0 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i64.load + i64.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end end + i32.const 0 + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store offset=4 local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 + i32.load offset=8 + local.tee $9 + local.get $0 + i32.load offset=16 + i32.const 4 + i32.shl + i32.add + local.set $6 + local.get $3 local.set $2 - loop $for-loop|8 - local.get $2 - i32.const 65535 - i32.and - i32.const 50 - i32.lt_u + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $2 - i32.const 65535 + local.get $9 + i32.load offset=12 + i32.const 1 i32.and - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $9 + i32.load offset=8 + i32.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=12 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 end - local.get $2 - i32.const 1 + local.get $9 + i32.const 16 i32.add - local.set $2 - br $for-loop|8 + local.set $9 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $8 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 i32.store offset=4 local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 i32.load offset=20 - i32.const 50 - i32.ne + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 56 - i32.const 3 + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.load offset=8 + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + (local $3 i32) + local.get $1 local.get $0 - i32.load offset=20 + i32.load offset=12 + i32.ge_u if + local.get $1 i32.const 0 - i32.const 1568 - i32.const 60 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 end - global.get $~lib/memory/__stack_pointer - i32.const 24 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + i64.store ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.store offset=12 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $9 local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $9 + i64.load offset=8 + i64.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=16 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 24 + i32.add + local.set $2 + end + local.get $9 + i32.const 24 + i32.add + local.set $9 + br $while-continue|0 + end end local.get $0 - i32.load offset=4 + local.get $8 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (local $3 i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end - local.get $1 - local.get $1 - i32.load offset=8 + local.get $2 + local.get $2 + i32.load offset=12 i32.const 1 i32.or - i32.store offset=8 + i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 @@ -10395,14 +8691,14 @@ i32.load offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.tee $3 i32.const 1 i32.add i32.const 4 local.get $0 i32.load offset=20 - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select @@ -10421,21 +8717,36 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $3 + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#clear (param $0 i32) + local.get $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 3 + i32.store offset=4 + local.get $0 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=16 + local.get $0 + i32.const 0 + i32.store offset=20 ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10443,8 +8754,11 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -10455,23 +8769,57 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $2 + i32.const 3 + i32.store offset=4 + local.get $2 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $2 + i32.const 4 + i32.store offset=12 + local.get $2 + i32.const 0 + i32.store offset=16 + local.get $2 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store loop $for-loop|0 - local.get $2 - i32.const 100 - i32.lt_s + local.get $1 + i64.const 100 + i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -10480,21 +8828,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 local.get $1 - local.get $2 - local.get $2 + i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/map/Map#set local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10504,13 +8847,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#get local.get $1 - local.get $2 - call $~lib/map/Map#get - local.get $2 + i32.wrap_i64 i32.const 10 i32.add i32.ne @@ -10522,17 +8863,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - i32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10544,19 +8882,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $2 + i64.const 0 + local.set $1 loop $for-loop|1 - local.get $2 - i32.const 100 - i32.lt_s + local.get $1 + i64.const 100 + i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10566,13 +8901,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#get local.get $1 - local.get $2 - call $~lib/map/Map#get - local.get $2 + i32.wrap_i64 i32.const 10 i32.add i32.ne @@ -10584,21 +8917,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 local.get $1 - local.get $2 - local.get $2 + i32.wrap_i64 i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/map/Map#set local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10608,13 +8936,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#get local.get $1 - local.get $2 - call $~lib/map/Map#get - local.get $2 + i32.wrap_i64 i32.const 20 i32.add i32.ne @@ -10626,17 +8952,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - i32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10649,9 +8972,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10660,109 +8995,190 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.load offset=8 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load offset=16 - local.tee $7 - call $~lib/array/Array#constructor - local.tee $2 + i32.const 16 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 3 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $8 + call $~lib/memory/memory.fill + local.get $3 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $8 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store loop $for-loop|01 local.get $4 - local.get $7 - i32.lt_s + local.get $6 + i32.gt_s if + local.get $10 local.get $6 - local.get $4 - i32.const 12 - i32.mul + i32.const 4 + i32.shl i32.add - local.tee $8 - i32.load offset=8 + local.tee $5 + i32.load offset=12 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 local.get $0 - local.get $8 - i32.load - call $~lib/array/Array#__set + local.get $5 + i64.load + call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $4 + local.get $6 i32.const 1 i32.add - local.set $4 + local.set $6 br $for-loop|01 end end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 local.get $0 - call $~lib/array/Array#set:length + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $2 + call $~lib/map/Map#values + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $4 + i32.const 3 + i32.store offset=4 + local.get $4 + i32.const 96 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $4 + i32.const 4 + i32.store offset=12 + local.get $4 + i32.const 0 i32.store offset=16 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 + local.tee $5 + i32.store offset=16 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $7 local.get $3 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 local.get $3 - call $~lib/array/Array#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $3 + i32.load offset=4 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $1 + local.get $0 + local.get $7 call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $6 + local.get $2 local.get $1 - local.get $5 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10772,14 +9188,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $7 + local.get $2 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + i64.extend_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10789,34 +9203,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 local.get $4 - local.get $7 + local.get $1 + local.get $1 + call $~lib/map/Map#set + local.get $5 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $~lib/map/Map#set - local.get $3 + local.get $7 i32.const 1 i32.add - local.set $3 + local.set $7 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -10828,10 +9233,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -10843,19 +9245,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 + i64.const 0 + local.set $1 loop $for-loop|3 - local.get $3 - i32.const 50 - i32.lt_s + local.get $1 + i64.const 50 + i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $2 local.get $1 - local.get $3 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10865,13 +9264,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#get local.get $1 - local.get $3 - call $~lib/map/Map#get - local.get $3 + i32.wrap_i64 i32.const 20 i32.add i32.ne @@ -10883,18 +9280,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $3 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#delete + local.get $2 local.get $1 - local.get $3 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -10903,17 +9294,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 1 - i32.add - local.set $3 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -10925,19 +9313,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 + i64.const 0 + local.set $1 loop $for-loop|4 - local.get $3 - i32.const 50 - i32.lt_s + local.get $1 + i64.const 50 + i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $2 local.get $1 - local.get $3 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -10946,21 +9331,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 local.get $1 - local.get $3 - local.get $3 + i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/map/Map#set + local.get $2 local.get $1 - local.get $3 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10970,18 +9350,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $3 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $1 - i32.store offset=4 + call $~lib/map/Map#delete + local.get $2 local.get $1 - local.get $3 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -10990,17 +9364,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 1 - i32.add - local.set $3 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -11012,15 +9383,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + call $~lib/map/Map#clear + local.get $2 i32.load offset=20 if i32.const 0 @@ -11031,188 +9396,69 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 local.get $0 - i32.load offset=12 - i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 local.get $0 i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + local.tee $2 + i32.const 1 + i32.and if (result i32) - local.get $0 - i32.load offset=4 + i32.const 0 else + local.get $1 local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i64.load + i64.eq end - call $~lib/map/Map#rehash + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 i64) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11221,133 +9467,135 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $0 i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 2 + i32.const 3 i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 local.get $0 - local.get $5 - i32.store offset=8 + i32.load offset=8 + local.tee $9 local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=16 + i32.const 4 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - local.get $6 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $2 - i32.load offset=8 + local.get $9 + i32.load offset=12 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 local.get $2 - i32.load - call $~lib/array/Array#__set + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $9 + i32.load offset=8 + i32.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH local.get $1 - i32.const 1 + i32.and + i32.const 2 + i32.shl i32.add - local.set $1 + local.tee $4 + i32.load + i32.store offset=12 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 end - local.get $4 - i32.const 1 + local.get $9 + i32.const 16 i32.add - local.set $4 - br $for-loop|0 + local.set $9 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $8 + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/array/Array#set:length + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=8 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11356,138 +9604,126 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/util/hash/HASH - local.set $4 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $9 local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 + local.get $9 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $9 + i64.load offset=8 + i64.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 i32.shl - i32.const 1 - i32.or + i32.add + local.tee $4 + i32.load + i32.store offset=16 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 24 + i32.add + local.set $2 end - call $~lib/map/Map#rehash + local.get $9 + i32.const 24 + i32.add + local.set $9 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $3 - i32.store end + local.get $0 + local.get $8 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) + (local $2 i32) + (local $3 i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end - local.get $1 - local.get $1 - i32.load offset=8 + local.get $2 + local.get $2 + i32.load offset=12 i32.const 1 i32.or - i32.store offset=8 + i32.store offset=12 local.get $0 local.get $0 i32.load offset=20 @@ -11498,14 +9734,14 @@ i32.load offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.tee $3 i32.const 1 i32.add i32.const 4 local.get $0 i32.load offset=20 - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select @@ -11524,29 +9760,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $3 + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -11557,8 +9790,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11570,47 +9803,44 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 17 + i32.const 23 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $0 + local.get $2 i32.const 3 i32.store offset=4 - local.get $0 - i32.const 48 + local.get $2 + i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $2 i32.const 4 i32.store offset=12 - local.get $0 + local.get $2 i32.const 0 i32.store offset=16 - local.get $0 + local.get $2 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store loop $for-loop|0 local.get $1 - i32.const 100 - i32.lt_u + i64.const 100 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -11619,21 +9849,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 + i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11643,13 +9868,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 + i32.wrap_i64 i32.const 10 i32.add i32.ne @@ -11662,16 +9885,13 @@ unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -11683,19 +9903,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 + i64.const 0 local.set $1 loop $for-loop|1 local.get $1 - i32.const 100 - i32.lt_u + i64.const 100 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11705,13 +9922,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 + i32.wrap_i64 i32.const 10 i32.add i32.ne @@ -11723,87 +9938,191 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 + local.get $1 + local.get $1 + i32.wrap_i64 + i32.const 20 + i32.add + call $~lib/map/Map#set + local.get $2 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 local.get $1 + call $~lib/map/Map#get local.get $1 + i32.wrap_i64 i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|1 + end + end + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 24 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 3 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $8 + call $~lib/memory/memory.fill + local.get $3 + local.get $5 + call $~lib/map/Map#set:buckets + local.get $3 + local.get $5 + i32.store offset=4 + local.get $3 + local.get $8 + i32.store offset=8 + local.get $3 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $10 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $5 + i32.load offset=12 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $0 + local.get $5 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $1 + local.get $6 i32.const 1 i32.add - local.set $1 - br $for-loop|1 + local.set $6 + br $for-loop|01 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $3 + local.get $2 + call $~lib/map/Map#values + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#values - local.tee $6 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11814,53 +10133,47 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 19 + i32.const 25 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $4 i32.store - local.get $1 + local.get $4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $1 + local.get $4 i32.const 3 i32.store offset=4 - local.get $1 - i32.const 48 + local.get $4 + i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $1 + local.get $4 i32.const 4 i32.store offset=12 - local.get $1 + local.get $4 i32.const 0 i32.store offset=16 - local.get $1 + local.get $4 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 + local.get $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 + local.tee $5 + i32.store offset=16 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $2 + local.get $7 local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $2 + local.get $7 local.get $3 i32.load offset=12 i32.ge_u @@ -11874,25 +10187,19 @@ end local.get $3 i32.load offset=4 - local.get $2 - i32.const 2 + local.get $7 + i32.const 3 i32.shl i32.add - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - call $~lib/array/Array#__get - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i64.load + local.set $1 local.get $0 - local.get $5 - call $~lib/map/Map#has + local.get $7 + call $~lib/array/Array#__get + local.set $6 + local.get $2 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11902,14 +10209,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $7 + local.get $2 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + i64.extend_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11919,34 +10224,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $4 local.get $1 - i32.store offset=4 local.get $1 + call $~lib/map/Map#set local.get $5 - local.get $5 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - local.get $7 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 call $~lib/map/Map#set - local.get $2 + local.get $7 i32.const 1 i32.add - local.set $2 + local.set $7 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $4 i32.load offset=20 i32.const 100 i32.ne @@ -11958,10 +10254,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -11973,19 +10266,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $2 + i64.const 0 + local.set $1 loop $for-loop|3 - local.get $2 - i32.const 50 - i32.lt_u + local.get $1 + i64.const 50 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11995,13 +10285,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/map/Map#get local.get $2 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.wrap_i64 i32.const 20 i32.add i32.ne @@ -12013,18 +10301,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 + call $~lib/map/Map#delete local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -12033,17 +10315,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - i32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -12055,19 +10334,16 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $2 + i64.const 0 + local.set $1 loop $for-loop|4 - local.get $2 - i32.const 50 - i32.lt_u + local.get $1 + i64.const 50 + i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -12076,21 +10352,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 local.get $2 + local.get $1 + local.get $1 + i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -12100,18 +10371,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 + call $~lib/map/Map#delete local.get $2 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -12120,489 +10385,270 @@ call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|4 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=8 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 4 - i32.shl - i32.add - local.tee $3 - local.get $1 - i64.store - local.get $3 - local.get $2 - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=12 - local.get $0 - local.get $3 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|4 + end + end + local.get $2 + i32.load offset=20 + i32.const 50 + i32.ne if - local.get $1 i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 + i32.const 1568 + i32.const 56 i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add local.get $2 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 + call $~lib/map/Map#clear local.get $2 - i32.const 134217727 - i32.gt_u + i32.load offset=20 if - i32.const 1456 - i32.const 1728 - i32.const 58 + i32.const 0 + i32.const 1568 i32.const 60 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (local $1 i32) local.get $0 - local.get $5 - i32.store offset=8 + i32.reinterpret_f32 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) local.get $0 + i32.load local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add + local.get $0 + i32.load offset=8 local.tee $2 - i32.load offset=12 i32.const 1 i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer + if (result i32) + i32.const 0 + else + local.get $1 local.get $0 - i32.store offset=4 + f32.load + f32.eq + end + if local.get $0 - local.get $1 - local.get $2 - i64.load - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 + return end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 f32) (result i32) local.get $0 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer + local.tee $9 local.get $0 i32.load offset=16 - local.tee $4 - call $~lib/array/Array#constructor - local.tee $0 - i32.store - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s + i32.const 12 + i32.mul + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - local.get $3 - local.get $2 - i32.const 4 - i32.shl - i32.add - local.tee $5 - i32.load offset=12 + local.get $9 + i32.load offset=8 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 + local.get $9 + f32.load + local.tee $5 + f32.store + local.get $2 + local.get $9 + i32.load offset=4 i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $8 local.get $5 - i32.load offset=8 - call $~lib/array/Array#__set + call $~lib/util/hash/HASH local.get $1 - i32.const 1 + i32.and + i32.const 2 + i32.shl i32.add - local.set $1 + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 end - local.get $2 - i32.const 1 + local.get $9 + i32.const 12 i32.add - local.set $2 - br $for-loop|0 + local.set $9 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $8 + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/array/Array#set:length + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 f32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -12611,174 +10657,126 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.load - local.get $5 + i32.load offset=8 + local.tee $9 local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i32.load offset=16 + i32.const 12 + i32.mul i32.add - i32.load - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - i64.load - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - local.set $3 - end + local.set $6 local.get $3 - if - local.get $3 - local.get $2 - i64.store offset=8 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 + local.get $9 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + f32.load + local.tee $5 + f32.store + local.get $2 + local.get $9 + f32.load offset=4 + f32.store offset=4 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 i32.shl - i32.const 1 - i32.or + i32.add + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add + local.set $2 end - call $~lib/map/Map#rehash + local.get $9 + i32.const 12 + i32.add + local.set $9 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $4 - i32.const 24 - i32.mul - i32.add - local.tee $3 - local.get $1 - i64.store - local.get $3 - local.get $2 - i64.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=16 - local.get $0 - local.get $3 - i32.store end + local.get $0 + local.get $8 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) + (func $~lib/map/Map#delete (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 local.get $2 - i32.load offset=12 + i32.load offset=8 i32.const 1 i32.or - i32.store offset=12 + i32.store offset=8 local.get $0 local.get $0 i32.load offset=20 @@ -12815,29 +10813,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) - (local $1 i64) + (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12848,8 +10843,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12861,47 +10856,44 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 20 + i32.const 26 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $0 + local.get $2 i32.const 3 i32.store offset=4 - local.get $0 - i32.const 64 + local.get $2 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $2 i32.const 4 i32.store offset=12 - local.get $0 + local.get $2 i32.const 0 i32.store offset=16 - local.get $0 + local.get $2 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store loop $for-loop|0 local.get $1 - i64.const 100 - i64.lt_s + f32.const 100 + f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -12910,22 +10902,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -12935,14 +10921,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 10 i32.add i32.ne @@ -12955,16 +10938,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f32.const 1 + f32.add local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -12976,19 +10956,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f32.const 0 local.set $1 loop $for-loop|1 local.get $1 - i64.const 100 - i64.lt_s + f32.const 100 + f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -12998,14 +10975,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 10 i32.add i32.ne @@ -13017,22 +10991,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13042,14 +11010,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 20 i32.add i32.ne @@ -13062,43 +11027,187 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f32.const 1 + f32.add local.set $1 br $for-loop|1 end end + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 27 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $3 + i32.const 0 i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 268435455 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys + local.get $5 + i32.const 2 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/map/Map#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $8 i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=12 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $5 + local.get $6 + i32.gt_s + if + local.get $10 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + f32.load + local.set $1 + local.get $0 + local.get $3 + i32.load offset=12 + i32.ge_u + if + local.get $0 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + call $~lib/array/ensureSize + local.get $3 + local.get $4 + i32.store offset=12 + end + local.get $3 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $1 + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $3 local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#values - local.tee $7 - i32.store offset=12 + local.get $2 + call $~lib/map/Map#values + local.tee $6 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13110,54 +11219,48 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 22 + i32.const 28 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $2 + local.get $0 i32.const 3 i32.store offset=4 - local.get $2 - i32.const 96 + local.get $0 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $2 + local.get $0 i32.const 4 i32.store offset=12 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 + local.get $0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $3 - i32.store offset=20 + local.tee $5 + i32.store offset=16 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $3 i32.load offset=12 i32.ge_u if @@ -13168,27 +11271,21 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.load offset=4 - local.get $5 - i32.const 3 + local.get $7 + i32.const 2 i32.shl i32.add - i64.load + f32.load local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 + local.get $6 local.get $7 - local.get $5 call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.set $4 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13198,15 +11295,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $6 + local.get $2 + local.get $4 i32.const 20 i32.sub - i64.extend_i32_s - call $~lib/map/Map#has + f32.convert_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13216,34 +11310,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 local.get $1 local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $6 + call $~lib/map/Map#set + local.get $5 + local.get $4 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $4 + local.get $4 call $~lib/map/Map#set - local.get $5 + local.get $7 i32.const 1 i32.add - local.set $5 + local.set $7 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=20 i32.const 100 i32.ne @@ -13255,10 +11340,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -13270,19 +11352,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f32.const 0 local.set $1 loop $for-loop|3 local.get $1 - i64.const 50 - i64.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + f32.const 50 + f32.lt + if + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13292,14 +11371,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 20 i32.add i32.ne @@ -13311,18 +11387,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#delete + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -13332,16 +11402,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f32.const 1 + f32.add local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -13353,19 +11420,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f32.const 0 local.set $1 loop $for-loop|4 local.get $1 - i64.const 50 - i64.lt_s + f32.const 50 + f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -13374,22 +11438,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f32_s i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13399,18 +11457,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#delete + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -13420,16 +11472,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f32.const 1 + f32.add local.set $1 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -13441,15 +11490,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 + call $~lib/map/Map#clear + local.get $2 i32.load offset=20 if i32.const 0 @@ -13460,188 +11503,115 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (func $~lib/util/hash/HASH (param $0 f64) (result i32) + (local $1 i32) + (local $2 i64) local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 + i64.reinterpret_f64 + local.tee $2 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $2 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=8 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 4 - i32.shl - i32.add - local.tee $3 - local.get $1 - i64.store - local.get $3 - local.get $2 - i32.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=12 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 local.get $0 - local.get $3 - i32.store + if + local.get $0 + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + f64.load + f64.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13650,133 +11620,135 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $0 i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 local.get $0 - local.get $5 - i32.store offset=8 + i32.load offset=8 + local.tee $9 local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=16 + i32.const 4 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 + local.get $9 i32.load offset=12 i32.const 1 i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 local.get $2 - i64.load - call $~lib/array/Array#__set + local.get $9 + f64.load + local.tee $5 + f64.store + local.get $2 + local.get $9 + i32.load offset=8 + i32.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH local.get $1 - i32.const 1 + i32.and + i32.const 2 + i32.shl i32.add - local.set $1 + local.tee $4 + i32.load + i32.store offset=12 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 end - local.get $4 - i32.const 1 + local.get $9 + i32.const 16 i32.add - local.set $4 - br $for-loop|0 + local.set $9 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $8 + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/array/Array#set:length + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz + if + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=8 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13785,166 +11757,118 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.load - local.get $5 + i32.load offset=8 + local.tee $9 local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl + i32.load offset=16 + i32.const 24 + i32.mul i32.add - i32.load - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz if - local.get $3 - i32.load offset=16 - local.tee $4 - i32.const 1 + local.get $2 + local.get $9 + f64.load + local.tee $5 + f64.store + local.get $2 + local.get $9 + f64.load offset=8 + f64.store offset=8 + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - i64.load - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=16 local.get $4 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 + local.get $2 + i32.store + local.get $2 + i32.const 24 + i32.add + local.set $2 end + local.get $9 + i32.const 24 + i32.add + local.set $9 + br $while-continue|0 end - i32.const 0 - local.set $3 end + local.get $0 + local.get $8 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 local.get $3 - if - local.get $3 - local.get $2 - i64.store offset=8 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $4 - i32.const 24 - i32.mul - i32.add - local.tee $3 - local.get $1 - i64.store - local.get $3 - local.get $2 - i64.store offset=8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=16 - local.get $0 - local.get $3 - i32.store - end + call $~lib/map/Map#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) + (func $~lib/map/Map#delete (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -13989,29 +11913,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) - (local $1 i64) + (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -14022,8 +11943,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -14035,47 +11956,44 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 23 + i32.const 29 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 i32.store - local.get $0 + local.get $2 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $0 + local.get $2 i32.const 3 i32.store offset=4 - local.get $0 + local.get $2 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $0 + local.get $2 i32.const 4 i32.store offset=12 - local.get $0 + local.get $2 i32.const 0 i32.store offset=16 - local.get $0 + local.get $2 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store loop $for-loop|0 local.get $1 - i64.const 100 - i64.lt_u + f64.const 100 + f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -14084,22 +12002,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14109,14 +12021,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 10 i32.add i32.ne @@ -14129,16 +12038,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f64.const 1 + f64.add local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -14150,19 +12056,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f64.const 0 local.set $1 loop $for-loop|1 local.get $1 - i64.const 100 - i64.lt_u + f64.const 100 + f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14172,14 +12075,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 10 i32.add i32.ne @@ -14191,22 +12091,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 20 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14216,14 +12110,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 20 i32.add i32.ne @@ -14236,43 +12127,187 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f64.const 1 + f64.add local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 30 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/map/Map#set:buckets + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 3 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/map/Map#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $8 + i32.store offset=8 + local.get $3 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $5 + local.get $6 + i32.gt_s + if + local.get $10 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $4 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + f64.load + local.set $1 + local.get $0 + local.get $3 + i32.load offset=12 + i32.ge_u + if + local.get $0 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 3 + call $~lib/array/ensureSize + local.get $3 + local.get $4 + i32.store offset=12 + end + local.get $3 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $1 + f64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $3 local.get $0 - call $~lib/map/Map#keys - local.tee $4 - i32.store offset=8 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 call $~lib/map/Map#values - local.tee $7 - i32.store offset=12 + local.tee $6 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 @@ -14284,54 +12319,48 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 25 + i32.const 31 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store - local.get $2 + local.get $0 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:buckets - local.get $2 + local.get $0 i32.const 3 i32.store offset=4 - local.get $2 + local.get $0 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor call $~lib/map/Map#set:entries - local.get $2 + local.get $0 i32.const 4 i32.store offset=12 - local.get $2 + local.get $0 i32.const 0 i32.store offset=16 - local.get $2 + local.get $0 i32.const 0 i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 + local.get $0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $3 - i32.store offset=20 + local.tee $5 + i32.store offset=16 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 + local.get $7 + local.get $3 i32.load offset=12 i32.ge_u if @@ -14342,27 +12371,21 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.load offset=4 - local.get $5 + local.get $7 i32.const 3 i32.shl i32.add - i64.load + f64.load local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 + local.get $6 local.get $7 - local.get $5 call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.set $4 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14372,15 +12395,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $6 + local.get $2 + local.get $4 i32.const 20 i32.sub - i64.extend_i32_s - call $~lib/map/Map#has + f64.convert_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14390,34 +12410,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 local.get $1 local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $6 + call $~lib/map/Map#set + local.get $5 + local.get $4 i32.const 20 i32.sub - local.tee $6 - local.get $6 + local.tee $4 + local.get $4 call $~lib/map/Map#set - local.get $5 + local.get $7 i32.const 1 i32.add - local.set $5 + local.set $7 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 i32.load offset=20 i32.const 100 i32.ne @@ -14429,10 +12440,7 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $5 i32.load offset=20 i32.const 100 i32.ne @@ -14444,19 +12452,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f64.const 0 local.set $1 loop $for-loop|3 local.get $1 - i64.const 50 - i64.lt_u + f64.const 50 + f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14466,14 +12471,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 20 i32.add i32.ne @@ -14485,18 +12487,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#delete + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -14506,16 +12502,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f64.const 1 + f64.add local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -14527,19 +12520,16 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + f64.const 0 local.set $1 loop $for-loop|4 local.get $1 - i64.const 50 - i64.lt_u + f64.const 50 + f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -14548,22 +12538,16 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 local.get $1 - i32.wrap_i64 + i32.trunc_f64_s i32.const 10 i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#set + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14573,18 +12557,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/map/Map#delete + local.get $2 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -14594,16 +12572,13 @@ unreachable end local.get $1 - i64.const 1 - i64.add + f64.const 1 + f64.add local.set $1 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -14615,15 +12590,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/map/Map#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -14631,398 +12600,187 @@ i32.const 60 i32.const 3 call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $4 - call $~lib/map/Map#find - local.tee $3 - if - local.get $3 - local.get $2 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $invalid + end + return + end + return + end local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return end - call $~lib/map/Map#rehash + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $3 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - f32.store - local.get $3 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $3 - local.get $0 - i32.load - local.get $4 local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 i32.load - i32.store offset=8 + call $~lib/rt/itcms/__visit local.get $0 - local.get $3 - i32.store + i32.load offset=8 + call $~lib/rt/itcms/__visit + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.load + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + (func $~start + memory.size + i32.const 16 + i32.shl + i32.const 18404 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1168 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1200 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1344 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + global.get $~lib/rt/itcms/state i32.const 0 - i32.store + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz + i32.const 2020 + i32.lt_s if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 18432 + i32.const 18480 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 27 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 i32.const 0 - i32.store offset=8 + i32.store local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 268435455 + i32.const 1073741820 i32.gt_u if i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 + i32.const 1504 + i32.const 49 + i32.const 43 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - local.tee $5 + local.get $0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + local.tee $1 i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $2 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $2 - f32.load - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $2 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $9 - f32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $1 - call $~lib/array/Array#set:length + local.get $0 + call $~lib/memory/memory.fill global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 f32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store local.get $0 local.get $1 - local.get $4 - call $~lib/map/Map#find + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find local.tee $3 if local.get $3 local.get $2 - f32.store offset=4 + i32.store offset=4 else local.get $0 i32.load offset=16 @@ -15030,9 +12788,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -15054,13 +12809,13 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $3 - i32.store offset=4 + i32.store local.get $0 local.get $0 i32.load offset=16 @@ -15075,10 +12830,10 @@ i32.add local.tee $3 local.get $1 - f32.store + i32.store8 local.get $3 local.get $2 - f32.store offset=4 + i32.store offset=4 local.get $0 local.get $0 i32.load offset=20 @@ -15103,116 +12858,149 @@ i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f32) + (func $~lib/array/Array#constructor (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 i32.store - local.get $0 local.get $1 + i32.const 0 + call $~lib/map/Map#set:buckets local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $3 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $2 - local.get $2 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end + i32.const 268435455 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $3 - call $~lib/map/Map#rehash + i32.const 1456 + i32.const 1728 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.const 2 + i32.shl + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + local.get $2 + call $~lib/map/Map#set:buckets + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + local.get $1 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 f32) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + local.get $0 + i32.load offset=16 + local.tee $4 + call $~lib/array/Array#constructor + local.tee $0 + i32.store + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 12 + i32.mul + i32.add + local.tee $5 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $0 + local.get $1 + local.get $5 + i32.load offset=4 + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + local.get $0 + local.get $1 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#constructor (result i32) + (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15223,7 +13011,7 @@ i32.store global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 26 + i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -15252,216 +13040,258 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.store - loop $for-loop|0 - local.get $1 - f32.const 100 - f32.lt - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f32_s - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f32_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|0 - end - end + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.tee $3 + call $~lib/util/hash/HASH + local.set $5 local.get $0 - i32.store offset=4 + i32.load + local.get $5 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load local.set $1 - loop $for-loop|1 - local.get $1 - f32.const 100 - f32.lt - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f32_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f32_s - i32.const 20 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 local.get $1 - call $~lib/map/Map#has - i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.load offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + i32.load8_u + local.get $3 + i32.const 255 + i32.and + i32.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $1 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer + end + i32.const 0 + local.set $1 + end + local.get $1 + if + local.get $1 + local.get $2 + i32.store8 offset=1 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f32_s - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|1 + call $~lib/map/Map#rehash end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $1 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $1 + local.get $4 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + local.tee $1 + local.get $3 + i32.store8 + local.get $1 + local.get $2 + i32.store8 offset=1 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $1 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $4 - i32.store offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - call $~lib/map/Map#values - local.tee $7 - i32.store offset=12 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store offset=4 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store + end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15470,363 +13300,349 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 28 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $2 - i32.const 3 - i32.store offset=4 - local.get $2 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $2 - i32.const 4 - i32.store offset=12 - local.get $2 - i32.const 0 - i32.store offset=16 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find local.tee $3 - i32.store offset=20 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $4 + if + local.get $3 + local.get $2 i32.store offset=4 - local.get $5 - local.get $4 + else + local.get $0 + i32.load offset=16 + local.get $0 i32.load offset=12 - i32.lt_s + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.load offset=4 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $5 - call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $6 - i32.const 20 - i32.sub - f32.convert_i32_s - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $6 - i32.const 20 - i32.sub - local.tee $6 - local.get $6 - call $~lib/map/Map#set - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|2 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store8 + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.tee $3 + call $~lib/util/hash/HASH + local.set $5 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load local.set $1 - loop $for-loop|3 - local.get $1 - f32.const 50 - f32.lt - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f32_s - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 local.get $1 - call $~lib/map/Map#has if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.load offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + i32.load8_u + local.get $3 + i32.const 255 + i32.and + i32.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $1 + br $while-continue|0 end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|3 end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $1 end - f32.const 0 - local.set $1 - loop $for-loop|4 + local.get $1 + if local.get $1 - f32.const 50 - f32.lt + local.get $2 + i32.store8 offset=1 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f32_s - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|4 + call $~lib/map/Map#rehash end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 56 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $1 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $1 + local.get $4 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + local.tee $1 + local.get $3 + i32.store8 + local.get $1 + local.get $2 + i32.store8 offset=1 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $1 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 if - i32.const 0 - i32.const 1568 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $2 + i32.store offset=4 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store16 + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15835,48 +13651,160 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer + local.get $1 + local.tee $3 + call $~lib/util/hash/HASH + local.set $5 local.get $0 - i32.store + i32.load + local.get $5 local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $1 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $1 + if + local.get $1 + i32.load offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + i32.load16_u + local.get $3 + i32.const 65535 + i32.and + i32.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $1 + br $while-continue|0 + end + end + i32.const 0 + local.set $1 + end local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne + if + local.get $1 + local.get $2 + i32.store16 offset=2 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $1 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $1 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $1 + local.get $3 + i32.store16 + local.get $1 + local.get $2 + i32.store16 offset=2 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $1 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store local.get $0 local.get $1 - local.get $4 - call $~lib/map/Map#find + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find local.tee $3 if local.get $3 local.get $2 - i32.store offset=8 + i32.store offset=4 else local.get $0 i32.load offset=16 @@ -15884,9 +13812,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -15908,13 +13833,13 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $3 - i32.store offset=4 + i32.store local.get $0 local.get $0 i32.load offset=16 @@ -15924,15 +13849,15 @@ i32.store offset=16 local.get $3 local.get $5 - i32.const 4 - i32.shl + i32.const 12 + i32.mul i32.add local.tee $3 local.get $1 - f64.store + i32.store16 local.get $3 local.get $2 - i32.store offset=8 + i32.store offset=4 local.get $0 local.get $0 i32.load offset=20 @@ -15951,301 +13876,182 @@ i32.add local.tee $0 i32.load - i32.store offset=12 + i32.store offset=8 local.get $0 local.get $3 i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 30 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - local.tee $5 i32.const 0 - call $~lib/rt/itcms/__new + i32.store + local.get $1 local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 + call $~lib/util/hash/HASH + local.set $5 local.get $0 + i32.load local.get $5 - i32.store offset=8 local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz + i32.load + local.set $1 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $1 if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $2 - f64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 + i32.load offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 + else local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $2 - i32.store offset=12 + i32.load16_u + local.get $3 + i32.const 65535 + i32.and + i32.eq end - global.get $~lib/memory/__stack_pointer + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $1 + br $while-continue|0 + end + end + i32.const 0 + local.set $1 + end + local.get $1 + if + local.get $1 + local.get $2 + i32.store16 offset=2 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) local.get $0 - i32.store + i32.load offset=4 + else local.get $0 i32.load offset=4 - local.get $1 - i32.const 3 + i32.const 1 i32.shl - i32.add - local.get $9 - f64.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 i32.const 1 - i32.add - local.set $1 + i32.or end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $1 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $1 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $1 + local.get $3 + i32.store16 + local.get $1 + local.get $2 + i32.store16 offset=2 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $1 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $1 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 f64) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store local.get $0 - i32.load - local.get $5 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - f64.load - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 if local.get $3 local.get $2 - f64.store offset=8 + i32.store offset=4 else local.get $0 i32.load offset=16 @@ -16253,9 +14059,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -16277,31 +14080,31 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $3 - i32.store offset=4 + i32.store local.get $0 local.get $0 i32.load offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store offset=16 local.get $3 - local.get $4 - i32.const 24 + local.get $5 + i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - f64.store + i32.store local.get $3 local.get $2 - f64.store offset=8 + i32.store offset=4 local.get $0 local.get $0 i32.load offset=20 @@ -16311,7 +14114,7 @@ local.get $3 local.get $0 i32.load - local.get $5 + local.get $4 local.get $0 i32.load offset=4 i32.and @@ -16320,19 +14123,20 @@ i32.add local.tee $0 i32.load - i32.store offset=16 + i32.store offset=8 local.get $0 local.get $3 i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f64) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16341,101 +14145,102 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $2 - local.get $2 - i32.load offset=12 - i32.const 1 - i32.or - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find local.tee $3 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $2 - local.get $2 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) + if + local.get $3 + local.get $2 + i32.store offset=4 + else local.get $0 - i32.load offset=20 + i32.load offset=16 local.get $0 i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 i32.store + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 local.get $0 local.get $3 - call $~lib/map/Map#rehash + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 f64) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16444,247 +14249,308 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $1 - f64.const 100 - f64.lt + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f64_s - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f64_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|0 + call $~lib/map/Map#rehash end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 4 + i32.shl + i32.add + local.tee $3 local.get $1 - f64.const 100 - f64.lt - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f64_s - i32.const 10 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f64_s - i32.const 20 + i64.store + local.get $3 + local.get $2 + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=12 + local.get $0 + local.get $3 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=16 + local.tee $4 + call $~lib/array/Array#constructor + local.tee $0 + i32.store + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 4 + i32.shl i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has + local.tee $5 + i32.load offset=12 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + local.get $5 + i32.load offset=8 + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f64_s - i32.const 20 + local.get $2 + i32.const 1 i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/map/Map#keys - local.tee $4 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $5 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.load + local.get $5 local.get $0 - call $~lib/map/Map#values - local.tee $7 - i32.store offset=12 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 + if + local.get $3 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + i64.load + i64.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 + end + end + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + i64.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $4 + i32.const 24 + i32.mul + i32.add + local.tee $3 + local.get $1 + i64.store + local.get $3 + local.get $2 + i64.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=16 + local.get $0 + local.get $3 + i32.store + end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16693,364 +14559,450 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 31 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $2 - i32.const 3 - i32.store offset=4 - local.get $2 - i32.const 96 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $2 - i32.const 4 - i32.store offset=12 - local.get $2 - i32.const 0 - i32.store offset=16 - local.get $2 - i32.const 0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find local.tee $3 - i32.store offset=20 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 + if + local.get $3 + local.get $2 + i32.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 i32.load offset=12 - i32.lt_s + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $5 - local.get $4 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.load offset=4 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $5 - call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $6 - i32.const 20 - i32.sub - f64.convert_i32_s - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $6 - i32.const 20 - i32.sub - local.tee $6 - local.get $6 - call $~lib/map/Map#set - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|2 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 4 + i32.shl + i32.add + local.tee $3 + local.get $1 + i64.store + local.get $3 + local.get $2 + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=12 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.load offset=20 - i32.const 100 - i32.ne - if + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $5 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 + if + local.get $3 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + i64.load + i64.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 + end + end i32.const 0 - i32.const 1568 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $3 end - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store offset=4 - local.get $3 - i32.load offset=20 - i32.const 100 - i32.ne if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - f64.const 50 - f64.lt + local.get $3 + local.get $2 + i64.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#get - local.get $1 - i32.trunc_f64_s - i32.const 20 - i32.add - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|3 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $4 + i32.const 24 + i32.mul + i32.add + local.tee $3 + local.get $1 + i64.store + local.get $3 + local.get $2 + i64.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=16 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - f64.const 50 - f64.lt + local.get $3 + local.get $2 + i32.store offset=4 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $1 - i32.trunc_f64_s - i32.const 10 - i32.add - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - local.get $1 - call $~lib/map/Map#delete - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=20 local.get $0 - local.get $1 - call $~lib/map/Map#has - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|4 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + f32.store + local.get $3 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 f32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/map/Map#clear + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 if - i32.const 0 - i32.const 1568 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $2 + f32.store offset=4 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + f32.store + local.get $3 + local.get $2 + f32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -17060,142 +15012,235 @@ i32.const 0 i32.store local.get $0 - i32.const 1073741820 - i32.gt_u + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $4 + call $~lib/map/Map#find + local.tee $3 if - i32.const 1456 - i32.const 1504 - i32.const 49 - i32.const 43 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $2 + i32.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $5 + i32.const 4 + i32.shl + i32.add + local.tee $3 + local.get $1 + f64.store + local.get $3 + local.get $2 + i32.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $4 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=12 + local.get $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 - local.get $0 - call $~lib/memory/memory.fill - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/array/Array#constructor (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 f64) (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - local.get $1 i32.const 0 - call $~lib/map/Map#set:buckets - local.get $1 - i32.const 0 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.store offset=8 + i32.store local.get $1 - i32.const 0 - i32.store offset=12 + call $~lib/util/hash/HASH + local.set $5 local.get $0 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.load + local.get $5 local.get $0 + i32.load offset=4 + i32.and i32.const 2 i32.shl - local.tee $3 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - local.get $2 - call $~lib/map/Map#set:buckets - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $3 - i32.store offset=8 - local.get $1 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/map/Map#constructor (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 + i32.load + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 + if + local.get $3 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + f64.load + f64.eq + end + br_if $__inlined_func$~lib/map/Map#find + local.get $4 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 + end + end + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + f64.store offset=8 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $3 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $3 + local.get $4 + i32.const 24 + i32.mul + i32.add + local.tee $3 + local.get $1 + f64.store + local.get $3 + local.get $2 + f64.store offset=8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $3 + local.get $0 + i32.load + local.get $5 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=16 + local.get $0 + local.get $3 + i32.store + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) ) diff --git a/tests/compiler/std/map.untouched.wat b/tests/compiler/std/map.untouched.wat index 3a3461a428..a717de95f6 100644 --- a/tests/compiler/std/map.untouched.wat +++ b/tests/compiler/std/map.untouched.wat @@ -2607,6 +2607,15 @@ end i32.const 0 ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2760,6 +2769,27 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 @@ -4164,6 +4194,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4209,6 +4273,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4833,6 +4931,73 @@ local.get $0 i32.load offset=20 ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) (func $~lib/map/Map#clear (param $0 i32) local.get $0 i32.const 0 @@ -4863,673 +5028,534 @@ i32.const 0 call $~lib/map/Map#set:entriesCount ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $std/map/testNumeric + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + call $~lib/map/Map#constructor + local.tee $0 + i32.store i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $0 - i32.const 255 - i32.and - local.set $2 - i32.const 1 local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - local.get $1 - i32.add - local.set $3 - local.get $3 - local.get $2 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 + loop $for-loop|1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $3 local.get $3 - local.set $4 - local.get $4 if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - else + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.add + i32.eq + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 + local.get $1 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $1 + br $for-loop|1 end end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store8 - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $4 + local.get $4 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load8_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 12 + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.add - local.set $6 - br $while-continue|0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - local.get $2 - i32.store8 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 - local.get $1 + call $~lib/map/Map#keys + local.tee $1 i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#values + local.tee $4 i32.store offset=8 - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + call $~lib/map/Map#constructor + local.tee $5 i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $2 + call $~lib/map/Map#constructor + local.tee $6 + i32.store offset=16 i32.const 0 - drop - local.get $2 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 + local.set $7 + loop $for-loop|4 + local.get $7 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $8 + local.get $8 if - local.get $3 - i32.load offset=4 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $1 + local.get $7 + call $~lib/array/Array#__get + local.set $9 + local.get $4 + local.get $7 + call $~lib/array/Array#__get + local.set $10 + local.get $0 + local.get $9 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - else + if i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $5 + local.get $9 + local.get $9 + call $~lib/map/Map#set + drop + local.get $6 + local.get $10 + i32.const 20 + i32.sub + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $7 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $7 + br $for-loop|4 end end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store8 offset=1 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store8 - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 + local.get $5 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $6 - local.get $0 - i32.load offset=16 - i32.const 8 - i32.mul - i32.add + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 + loop $for-loop|6 local.get $7 - i32.ne - local.set $9 - local.get $9 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $10 + local.get $10 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=4 - i32.const 1 - i32.and + local.get $0 + local.get $7 + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load8_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load8_u offset=1 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 8 - i32.add - local.set $8 - end - local.get $6 - i32.const 8 + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#get + i32.const 20 + local.get $7 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.add - local.set $6 - br $while-continue|0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|6 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $7 + loop $for-loop|8 + local.get $7 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + i32.const 10 + local.get $7 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|8 + end + end local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + call $~lib/map/Map#clear local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/map/Map#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -5538,12 +5564,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -5552,22 +5578,22 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5577,17 +5603,15 @@ drop i32.const 0 drop - i32.const 2 + i32.const 1 i32.const 4 i32.le_u drop local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 255 + i32.and local.set $2 - i32.const 2 + i32.const 1 local.set $1 i32.const 0 i32.const 374761393 @@ -5636,7 +5660,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5665,12 +5689,10 @@ i32.eqz if (result i32) local.get $3 - i32.load16_s + i32.load8_u local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 255 + i32.and i32.eq else i32.const 0 @@ -5690,22 +5712,31 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.store offset=4 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store16 + i32.store offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store8 + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5783,17 +5814,17 @@ local.get $8 local.set $11 local.get $10 - i32.load16_s + i32.load8_u local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 i32.load offset=4 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -5806,7 +5837,7 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -5824,30 +5855,51 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -5856,43 +5908,77 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 - i32.const 1 + i32.const 0 i32.shl i32.add local.get $2 - i32.store16 + i32.store8 i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.const 1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 0 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -5901,12 +5987,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -5915,26 +6001,26 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5951,16 +6037,16 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 1 + i32.const 0 i32.shl i32.add - i32.load16_s + i32.load8_u local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5989,12 +6075,10 @@ i32.eqz if (result i32) local.get $3 - i32.load16_s + i32.load8_u local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 255 + i32.and i32.eq else i32.const 0 @@ -6014,22 +6098,22 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store16 offset=2 + i32.store8 offset=1 ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store16 + i32.store8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6107,17 +6191,17 @@ local.get $8 local.set $11 local.get $10 - i32.load16_s + i32.load8_u local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 - i32.load16_s offset=2 - call $~lib/map/MapEntry#set:value + i32.load8_u offset=1 + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -6130,7 +6214,7 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -6148,232 +6232,129 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#clear (param $0 i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) + (func $~lib/map/Map#clear (param $0 i32) local.get $0 i32.const 0 i32.const 4 i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $std/map/testNumeric + (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $0 - i32.const 65535 - i32.and - local.set $2 - i32.const 2 - local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - local.get $1 - i32.add - local.set $3 - local.get $3 - local.get $2 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store16 - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6383,563 +6364,538 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u + local.set $3 + local.get $3 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load16_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 12 + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.const 255 + i32.and i32.add - local.set $6 - br $while-continue|0 + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 255 + i32.and + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz if - i32.const 224 - i32.const 704 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $2 i32.const 0 - drop - local.get $2 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u local.set $4 local.get $4 if - local.get $3 - i32.load offset=4 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - else - i32.const 0 - end if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 255 i32.and - local.set $3 - br $while-continue|0 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.const 255 + i32.and + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.const 255 + i32.and + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 end end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store16 offset=2 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store16 - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#keys + local.tee $1 i32.store offset=4 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 + local.get $0 + call $~lib/map/Map#values + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 8 - i32.mul - i32.add + call $~lib/map/Map#constructor + local.tee $6 + i32.store offset=16 + i32.const 0 local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 + loop $for-loop|4 local.get $7 - i32.ne - local.set $9 - local.get $9 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $8 + local.get $8 if - local.get $6 + local.get $1 + local.get $7 + call $~lib/array/Array#__get + local.set $9 + local.get $4 + local.get $7 + call $~lib/array/Array#__get local.set $10 + local.get $0 + local.get $9 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 local.get $10 - i32.load offset=4 - i32.const 1 - i32.and + i32.const 20 + i32.sub + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load16_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load16_u offset=2 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 8 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $5 + local.get $9 + local.get $9 + call $~lib/map/Map#set + drop local.get $6 - i32.const 8 - i32.add - local.set $6 - br $while-continue|0 + local.get $10 + i32.const 20 + i32.sub + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|4 end end - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $7 + loop $for-loop|6 + local.get $7 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u + local.set $10 + local.get $10 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#get + i32.const 20 + local.get $7 + i32.const 255 + i32.and + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|6 + end + end local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $7 + loop $for-loop|8 + local.get $7 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u + local.set $9 + local.get $9 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + i32.const 10 + local.get $7 + i32.const 255 + i32.and + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|8 + end + end local.get $0 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#clear + local.get $0 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - ) - (func $~lib/map/Map#clear (param $0 i32) + local.get $1 + i32.store local.get $0 + local.get $1 i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/map/Map#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store + local.get $1 + i32.store offset=8 local.get $0 local.get $1 i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -6949,13 +6905,17 @@ drop i32.const 0 drop - i32.const 4 + i32.const 2 i32.const 4 i32.le_u drop local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s local.set $2 - i32.const 4 + i32.const 2 local.set $1 i32.const 0 i32.const 374761393 @@ -7004,7 +6964,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7033,8 +6993,12 @@ i32.eqz if (result i32) local.get $3 - i32.load + i32.load16_s local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.eq else i32.const 0 @@ -7054,22 +7018,31 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store + i32.store16 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7147,17 +7120,17 @@ local.get $8 local.set $11 local.get $10 - i32.load + i32.load16_s local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 i32.load offset=4 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -7170,7 +7143,7 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -7188,30 +7161,51 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -7220,43 +7214,77 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add local.get $2 - i32.store + i32.store16 i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.const 2 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 1 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -7265,12 +7293,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -7279,26 +7307,26 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -7315,16 +7343,16 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load + i32.load16_s local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7345,7 +7373,7 @@ local.get $4 if local.get $3 - i32.load offset=8 + i32.load offset=4 local.set $5 local.get $5 i32.const 1 @@ -7353,8 +7381,12 @@ i32.eqz if (result i32) local.get $3 - i32.load + i32.load16_s local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.eq else i32.const 0 @@ -7374,22 +7406,22 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=4 + i32.store16 offset=2 ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store + i32.store16 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=8 + i32.store offset=4 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7432,7 +7464,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $4 - i32.const 12 + i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $5 @@ -7443,7 +7475,7 @@ local.get $6 local.get $0 i32.load offset=16 - i32.const 12 + i32.const 8 i32.mul i32.add local.set $7 @@ -7459,7 +7491,7 @@ local.get $6 local.set $10 local.get $10 - i32.load offset=8 + i32.load offset=4 i32.const 1 i32.and i32.eqz @@ -7467,17 +7499,17 @@ local.get $8 local.set $11 local.get $10 - i32.load + i32.load16_s local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry#set:value + i32.load16_s offset=2 + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -7490,17 +7522,17 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store local.get $8 - i32.const 12 + i32.const 8 i32.add local.set $8 end local.get $6 - i32.const 12 + i32.const 8 i32.add local.set $6 br $while-continue|0 @@ -7508,737 +7540,654 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#clear (param $0 i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) + (func $~lib/map/Map#clear (param $0 i32) local.get $0 i32.const 0 i32.const 4 i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store + call $~lib/map/Map#set:entriesCapacity local.get $0 - local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 + call $~lib/map/Map#set:entriesOffset local.get $0 - local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 + call $~lib/map/Map#set:entriesCount ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i64) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + call $~lib/map/Map#constructor + local.tee $0 + i32.store i32.const 0 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - i32.const 8 - i32.const 8 - i32.eq - drop - local.get $0 local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - return - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 + loop $for-loop|1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $3 local.get $3 - local.set $4 - local.get $4 if - local.get $3 - i32.load offset=12 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - i64.load - local.get $1 - i64.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $1 + br $for-loop|1 end end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) - local.get $0 - local.get $1 - i64.store - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.get $4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $4 + local.get $4 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=12 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i64.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load offset=8 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 16 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 16 + i32.shl i32.const 16 + i32.shr_s i32.add - local.set $6 - br $while-continue|0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + call $~lib/map/Map#keys + local.tee $1 i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#values + local.tee $4 i32.store offset=8 - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + call $~lib/map/Map#constructor + local.tee $5 i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $6 i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $2 i32.const 0 - drop - local.get $2 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 + local.set $7 + loop $for-loop|4 + local.get $7 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $8 + local.get $8 if - local.get $3 - i32.load offset=16 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $1 + local.get $7 + call $~lib/array/Array#__get + local.set $9 + local.get $4 + local.get $7 + call $~lib/array/Array#__get + local.set $10 + local.get $0 + local.get $9 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - i64.load - local.get $1 - i64.eq - else + if i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $5 + local.get $9 + local.get $9 + call $~lib/map/Map#set + drop + local.get $6 + local.get $10 + i32.const 20 + i32.sub + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $7 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $7 + br $for-loop|4 end end + local.get $5 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i64) - local.get $0 - local.get $1 - i64.store offset=8 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) - local.get $0 - local.get $1 - i64.store - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.set $7 + loop $for-loop|6 + local.get $7 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#get + i32.const 20 + local.get $7 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|6 + end + end local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.get $4 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 24 - i32.mul - i32.add local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 + loop $for-loop|8 local.get $7 - i32.ne + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s local.set $9 local.get $9 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=16 - i32.const 1 - i32.and + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i64.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i64.load offset=8 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 24 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 24 + local.get $0 + local.get $7 + i32.const 10 + local.get $7 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.add - local.set $6 - br $while-continue|0 + call $~lib/map/Map#set + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|8 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + call $~lib/map/Map#clear local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/map/Map#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -8247,12 +8196,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -8261,104 +8210,89 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i64) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 drop i32.const 0 drop i32.const 0 drop - i32.const 8 + i32.const 2 i32.const 4 i32.le_u drop - i32.const 8 - i32.const 8 - i32.eq - drop local.get $0 + i32.const 65535 + i32.and + local.set $2 + i32.const 2 local.set $1 i32.const 0 i32.const 374761393 i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 + local.set $3 + local.get $3 local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul i32.add - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 15 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const -2048144777 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 13 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const -1028477379 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 16 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 return ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8379,7 +8313,7 @@ local.get $4 if local.get $3 - i32.load offset=12 + i32.load offset=8 local.set $5 local.get $5 i32.const 1 @@ -8387,9 +8321,11 @@ i32.eqz if (result i32) local.get $3 - i64.load + i32.load16_u local.get $1 - i64.eq + i32.const 65535 + i32.and + i32.eq else i32.const 0 end @@ -8408,22 +8344,31 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.store offset=8 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i64.store + i32.store offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=12 + i32.store16 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8434,7 +8379,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i64) + (local $12 i32) (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer @@ -8466,7 +8411,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $4 - i32.const 16 + i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $5 @@ -8477,7 +8422,7 @@ local.get $6 local.get $0 i32.load offset=16 - i32.const 16 + i32.const 12 i32.mul i32.add local.set $7 @@ -8493,7 +8438,7 @@ local.get $6 local.set $10 local.get $10 - i32.load offset=12 + i32.load offset=8 i32.const 1 i32.and i32.eqz @@ -8501,17 +8446,17 @@ local.get $8 local.set $11 local.get $10 - i64.load + i32.load16_u local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 - i32.load offset=8 - call $~lib/map/MapEntry#set:value + i32.load offset=4 + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -8524,17 +8469,17 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store local.get $8 - i32.const 16 + i32.const 12 i32.add local.set $8 end local.get $6 - i32.const 16 + i32.const 12 i32.add local.set $6 br $while-continue|0 @@ -8542,30 +8487,51 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -8574,43 +8540,77 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 1 i32.shl i32.add local.get $2 - i64.store + i32.store16 i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.const 3 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 1 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -8619,12 +8619,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -8633,27 +8633,27 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -8669,16 +8669,16 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load + i32.load16_u local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8699,7 +8699,7 @@ local.get $4 if local.get $3 - i32.load offset=16 + i32.load offset=4 local.set $5 local.get $5 i32.const 1 @@ -8707,9 +8707,11 @@ i32.eqz if (result i32) local.get $3 - i64.load + i32.load16_u local.get $1 - i64.eq + i32.const 65535 + i32.and + i32.eq else i32.const 0 end @@ -8728,22 +8730,22 @@ end i32.const 0 ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i64) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i64.store offset=8 + i32.store16 offset=2 ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i64.store + i32.store16 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=16 + i32.store offset=4 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8754,7 +8756,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i64) + (local $12 i32) (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer @@ -8786,7 +8788,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $4 - i32.const 24 + i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $5 @@ -8797,7 +8799,7 @@ local.get $6 local.get $0 i32.load offset=16 - i32.const 24 + i32.const 8 i32.mul i32.add local.set $7 @@ -8813,7 +8815,7 @@ local.get $6 local.set $10 local.get $10 - i32.load offset=16 + i32.load offset=4 i32.const 1 i32.and i32.eqz @@ -8821,17 +8823,17 @@ local.get $8 local.set $11 local.get $10 - i64.load + i32.load16_u local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 - i64.load offset=8 - call $~lib/map/MapEntry#set:value + i32.load16_u offset=2 + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -8844,17 +8846,17 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store local.get $8 - i32.const 24 + i32.const 8 i32.add local.set $8 end local.get $6 - i32.const 24 + i32.const 8 i32.add local.set $6 br $while-continue|0 @@ -8862,229 +8864,129 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/map/Map#clear (param $0 i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $0 - i32.const 4 + local.get $0 + i32.load offset=20 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entriesCount local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add i32.const 4 - call $~lib/map/Map#set:entriesCapacity + local.tee $4 local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/map/Map#clear (param $0 i32) local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 f32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - drop i32.const 0 - drop - i32.const 1 - drop i32.const 4 i32.const 4 - i32.eq - drop - local.get $0 - i32.reinterpret_f32 - local.set $1 - i32.const 4 - local.set $2 - i32.const 0 - i32.const 374761393 - i32.add - local.get $2 - i32.add - local.set $3 - local.get $3 - local.get $1 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - i32.load - local.get $2 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $0 - i32.load offset=4 - i32.and + i32.const 0 i32.const 4 + i32.const 12 i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - f32.load - local.get $1 - f32.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f32) + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $0 - local.get $1 - f32.store - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $0 - local.get $1 - i32.store offset=8 + i32.const 0 + call $~lib/map/Map#set:entriesCount ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9094,675 +8996,633 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 65535 + i32.and + i32.const 100 + i32.lt_u + local.set $3 + local.get $3 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 1 + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.const 65535 i32.and + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - f32.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 12 + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 65535 + i32.and i32.add - local.set $6 - br $while-continue|0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - f32.store - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) - (local $2 f32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz if - i32.const 224 - i32.const 704 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $2 i32.const 0 - drop - local.get $2 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 65535 + i32.and + i32.const 100 + i32.lt_u local.set $4 local.get $4 if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.const 65535 i32.and + i32.add + i32.eq i32.eqz - if (result i32) - local.get $3 - f32.load - local.get $1 - f32.eq - else + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.const 65535 + i32.and + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.const 65535 + i32.and + i32.add + i32.eq + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 + local.get $1 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $1 + br $for-loop|3 end end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 f32) local.get $0 - local.get $1 - f32.store offset=4 - ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f32) + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - f32.store - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + call $~lib/map/Map#keys + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#values + local.tee $4 i32.store offset=8 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 f32) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add + call $~lib/map/Map#constructor + local.tee $6 + i32.store offset=16 + i32.const 0 local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 + loop $for-loop|4 local.get $7 - i32.ne - local.set $9 - local.get $9 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $8 + local.get $8 if - local.get $6 + local.get $1 + local.get $7 + call $~lib/array/Array#__get + local.set $9 + local.get $4 + local.get $7 + call $~lib/array/Array#__get local.set $10 + local.get $0 + local.get $9 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 local.get $10 - i32.load offset=8 - i32.const 1 - i32.and + i32.const 20 + i32.sub + call $~lib/map/Map#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - f32.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - f32.load offset=4 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $5 + local.get $9 + local.get $9 + call $~lib/map/Map#set + drop local.get $6 - i32.const 12 + local.get $10 + i32.const 20 + i32.sub + local.get $10 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $7 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $7 + br $for-loop|4 end end - local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $7 + loop $for-loop|6 + local.get $7 + i32.const 65535 + i32.and + i32.const 50 + i32.lt_u + local.set $10 + local.get $10 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#get + i32.const 20 + local.get $7 + i32.const 65535 + i32.and + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|6 + end + end local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $7 + loop $for-loop|8 + local.get $7 + i32.const 65535 + i32.and + i32.const 50 + i32.lt_u + local.set $9 + local.get $9 + if + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + i32.const 10 + local.get $7 + i32.const 65535 + i32.and + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $7 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|8 + end + end + local.get $0 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + call $~lib/map/Map#clear local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/map/Map#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - call $~lib/rt/itcms/__link + i32.ne ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 local.get $1 - i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 local.get $1 - i32.store offset=16 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.get $1 - i32.store offset=20 + i32.load offset=12 ) - (func $~lib/util/hash/HASH (param $0 f64) (result i32) - (local $1 i64) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.eq - drop - i32.const 8 - i32.const 8 - i32.eq - drop + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i64.reinterpret_f64 - local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 local.get $2 + i32.eqz + if + i32.const 0 + return + end local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 local.get $2 - return - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $0 - i32.load - local.get $2 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount local.get $0 i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load + i32.const 1 + i32.shr_u local.set $3 - loop $while-continue|0 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=12 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - f64.load - local.get $1 - f64.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end + call $~lib/map/Map#rehash end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 + i32.const 1 ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f64) + (func $~lib/map/Map#clear (param $0 i32) local.get $0 - local.get $1 - f64.store - ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - local.get $1 - i32.store offset=12 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9770,330 +9630,666 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 f64) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_s + local.set $2 + local.get $2 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=12 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz i32.eqz if - local.get $8 - local.set $11 - local.get $10 - f64.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/map/MapEntry#set:key - local.get $11 - local.get $10 - i32.load offset=8 - call $~lib/map/MapEntry#set:value - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 16 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 16 + local.get $0 + local.get $1 + i32.const 10 + local.get $1 i32.add - local.set $6 - br $while-continue|0 + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 end end local.get $0 - local.get $3 - call $~lib/map/Map#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - f64.store - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_s + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#keys + local.tee $1 i32.store offset=4 - ) - (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/map/Map#values + local.tee $2 i32.store offset=8 - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + call $~lib/map/Map#constructor + local.tee $3 i32.store offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $4 i32.store offset=16 - ) - (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) - (local $2 f64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $2 i32.const 0 - drop - local.get $2 - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 + local.set $5 + loop $for-loop|2 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 + local.get $6 if - local.get $3 - i32.load offset=16 - local.set $5 + local.get $1 local.get $5 - i32.const 1 - i32.and + call $~lib/array/Array#__get + local.set $7 + local.get $2 + local.get $5 + call $~lib/array/Array#__get + local.set $8 + local.get $0 + local.get $7 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $3 - f64.load - local.get $1 - f64.eq - else + if i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $8 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 f64) + local.get $3 + local.get $7 + local.get $7 + call $~lib/map/Map#set + drop + local.get $4 + local.get $8 + i32.const 20 + i32.sub + local.get $8 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|2 + end + end + local.get $3 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $5 + loop $for-loop|3 + local.get $5 + i32.const 50 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#get + i32.const 20 + local.get $5 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|3 + end + end + local.get $0 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $5 + loop $for-loop|4 + local.get $5 + i32.const 50 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 10 + local.get $5 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|4 + end + end + local.get $0 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/map/Map#clear + local.get $0 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 - f64.store offset=8 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f64) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 - f64.store + i32.store offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $0 + local.set $2 + i32.const 4 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add + local.get $1 + i32.add + local.set $3 + local.get $3 + local.get $2 + i32.const -1028477379 + i32.mul + i32.add + local.set $3 + local.get $3 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -2048144777 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -1028477379 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + return + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i32.load + local.get $1 + i32.eq + else + i32.const 0 + end + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 f64) + (local $12 i32) (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer @@ -10125,7 +10321,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $4 - i32.const 24 + i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $5 @@ -10136,7 +10332,7 @@ local.get $6 local.get $0 i32.load offset=16 - i32.const 24 + i32.const 12 i32.mul i32.add local.set $7 @@ -10152,7 +10348,7 @@ local.get $6 local.set $10 local.get $10 - i32.load offset=16 + i32.load offset=8 i32.const 1 i32.and i32.eqz @@ -10160,17 +10356,17 @@ local.get $8 local.set $11 local.get $10 - f64.load + i32.load local.set $12 local.get $11 local.get $12 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $11 local.get $10 - f64.load offset=8 - call $~lib/map/MapEntry#set:value + i32.load offset=4 + call $~lib/map/MapEntry#set:value local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -10183,17 +10379,17 @@ local.get $11 local.get $14 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $14 local.get $8 i32.store local.get $8 - i32.const 24 + i32.const 12 i32.add local.set $8 end local.get $6 - i32.const 24 + i32.const 12 i32.add local.set $6 br $while-continue|0 @@ -10201,1022 +10397,1190 @@ end local.get $0 local.get $3 - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 local.get $1 - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 local.get $5 - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 local.get $4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 - i32.load offset=20 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 ) - (func $~lib/map/Map#clear (param $0 i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + local.get $1 + i32.store local.get $0 + local.get $1 i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.get $1 + i32.store offset=12 ) - (func $~lib/rt/itcms/__collect - (local $0 i32) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store i32.const 0 drop - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 i32.const 0 - i32.ne - local.set $0 - local.get $0 + i32.lt_s if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $1 i32.const 1 - else - i32.const 0 - end - drop - ) - (func $start:std/map - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 144 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 176 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 320 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $~lib/rt/itcms/__collect - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - i32.const 224 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 432 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 592 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 local.get $1 - call $~lib/rt/itcms/__visit + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/array/Array#__uset ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + i32.const 2 + call $~lib/array/ensureSize local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/array/Array#set:length_ ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + i32.store local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit + i32.store offset=4 ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=8 local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - local.get $2 local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/map/Map#__visit + i32.store offset=12 ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - local.get $2 local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=20 ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.get $1 - call $~lib/map/Map#__visit + i32.load offset=12 ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 + i32.load offset=4 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 2 + i32.shl + i32.add + i32.load + local.set $2 i32.const 0 drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.get $2 ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i32.load + local.get $1 + i32.eq + else + i32.const 0 + end + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/map/Map#__visit + i32.store offset=4 ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.store ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit + i32.store offset=8 ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) - local.get $0 - i32.load + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 + i32.const 1 + i32.add local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 local.get $0 i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 + if + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + local.get $10 + i32.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i32.load offset=4 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 12 + i32.add + local.set $8 + end + local.get $6 + i32.const 12 + i32.add + local.set $6 + br $while-continue|0 + end end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + local.get $3 + call $~lib/map/Map#set:buckets local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + call $~lib/map/Map#set:bucketsMask local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + local.get $5 + call $~lib/map/Map#set:entries local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.get $4 + call $~lib/map/Map#set:entriesCapacity local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) local.get $0 - local.get $1 - call $~lib/map/Map#__visit + i32.load offset=20 ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else + local.get $2 + i32.eqz + if i32.const 0 + return end - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u if (result i32) - i32.const 1 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s else i32.const 0 end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 1 ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $~lib/map/Map#clear (param $0 i32) local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $0 - i32.load offset=8 - local.set $2 i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $0 - i32.load offset=8 - local.set $2 i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + call $~lib/map/Map#set:entriesOffset local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + call $~lib/map/Map#set:entriesCount ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 21 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/map/Map#keys + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=8 - local.set $2 + call $~lib/map/Map#values + local.tee $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - if (result i32) - i32.const 1 - else + call $~lib/map/Map#constructor + local.tee $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $4 + i32.store offset=16 + i32.const 0 + local.set $5 + loop $for-loop|2 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + call $~lib/array/Array#__get + local.set $7 + local.get $2 + local.get $5 + call $~lib/array/Array#__get + local.set $8 + local.get $0 + local.get $7 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $8 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $7 + local.get $7 + call $~lib/map/Map#set + drop + local.get $4 + local.get $8 + i32.const 20 + i32.sub + local.get $8 + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|2 + end + end + local.get $3 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.set $5 + loop $for-loop|3 + local.get $5 + i32.const 50 + i32.lt_u + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#get + i32.const 20 + local.get $5 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|3 + end + end local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - if (result i32) - i32.const 1 - else + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map - block $~lib/array/Array - block $~lib/array/Array - block $~lib/map/Map - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map $~lib/array/Array $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return + i32.const 0 + local.set $5 + loop $for-loop|4 + local.get $5 + i32.const 50 + i32.lt_u + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $0 - local.get $1 - call $~lib/array/Array~visit - return + local.get $5 + i32.const 10 + local.get $5 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/map/Map#delete + drop + local.get $0 + local.get $5 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|4 end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return end - unreachable - ) - (func $~start - call $start:std/map - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + local.get $0 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz if - i32.const 17408 - i32.const 17456 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 call $~lib/builtins/abort unreachable end - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $2 + call $~lib/map/Map#clear + local.get $0 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store - local.get $2 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i64) + (local $2 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 8 i32.const 4 + i32.le_u + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + local.set $1 + i32.const 0 + i32.const 374761393 i32.add - global.set $~lib/memory/__stack_pointer + i32.const 8 + i32.add + local.set $2 + local.get $2 + local.get $1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 local.get $2 + return ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=12 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i64.load + local.get $1 + i64.eq + else + i32.const 0 + end + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) + local.get $0 + local.get $1 + i64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11226,141 +11590,128 @@ i64.const 0 i64.store local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 + i32.const 1 + i32.add + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 + local.get $6 + local.set $10 + local.get $10 i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i32.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 end - call $~lib/map/Map#rehash + local.get $6 + i32.const 16 + i32.add + local.set $6 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end local.get $0 - local.set $7 + local.get $3 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 local.get $2 i32.eqz @@ -11373,24 +11724,49 @@ unreachable end local.get $2 + i32.load offset=8 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) + local.get $0 i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $2 + i64.store i32.const 0 - i32.store + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 local.get $0 i32.load offset=12 @@ -11411,174 +11787,162 @@ local.get $1 i32.const 1 i32.add - i32.const 0 + i32.const 3 call $~lib/array/ensureSize local.get $0 local.get $1 i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__uset ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=8 - local.set $1 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store + local.get $0 + local.get $1 i32.const 0 - local.set $4 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 if - local.get $1 + local.get $3 + i32.load offset=16 + local.set $5 local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 i32.const 1 i32.and i32.eqz + if (result i32) + local.get $3 + i64.load + local.get $1 + i64.eq + else + i32.const 0 + end if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load8_s - call $~lib/array/Array#__set + return end local.get $5 i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i64) + local.get $0 local.get $1 + i64.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + i64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=16 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11587,6 +11951,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11595,1123 +11964,696 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=16 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i64.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 24 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 24 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=12 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) + (func $~lib/map/Map#clear (param $0 i32) + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + ) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 global.get $~lib/memory/__stack_pointer - local.get $7 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $0 i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i64.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + i64.const 100 + i64.lt_s + local.set $2 + local.get $2 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=20 + local.get $1 + i32.const 10 + local.get $1 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - call $~lib/map/Map#rehash + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.wrap_i64 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 8 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i64.const 100 + i64.lt_s + local.set $2 + local.get $2 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 100 - i32.lt_s - local.set $3 - local.get $3 - if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.wrap_i64 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - i32.const 10 + i32.const 20 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 8 + i32.const 18 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get - i32.const 10 + call $~lib/map/Map#get + i32.const 20 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 9 + i32.const 19 i32.const 5 call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 br $for-loop|1 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 11 + i32.const 21 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/map/Map#keys + local.tee $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/map/Map#values + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 100 + call $~lib/map/Map#constructor + local.tee $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $5 + i32.store offset=16 + i32.const 0 + local.set $6 + loop $for-loop|2 + local.get $6 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $4 - local.get $4 + local.set $7 + local.get $7 if + local.get $2 + local.get $6 + call $~lib/array/Array#__get + local.set $1 + local.get $3 + local.get $6 + call $~lib/array/Array#__get + local.set $8 local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 15 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.add - i32.eq + local.get $8 + i32.const 20 + i32.sub + i64.extend_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 16 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 + local.get $4 local.get $1 - i32.const 20 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set + drop + local.get $5 + local.get $8 + i32.const 20 + i32.sub + local.get $8 + i32.const 20 + i32.sub + call $~lib/map/Map#set drop + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|2 + end + end + local.get $4 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + i64.const 50 + i64.lt_s + local.set $6 + local.get $6 + if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 18 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 19 + i32.const 42 i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 - i32.const 1 - i32.add + call $~lib/map/Map#delete + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 1 + i64.add local.set $1 br $for-loop|3 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size - i32.const 100 + call $~lib/map/Map#get:size + i32.const 50 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 21 + i32.const 46 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#values - local.tee $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $5 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $7 + i64.const 0 + local.set $1 loop $for-loop|4 - local.get $7 local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/array/Array#get:length - i32.lt_s - local.set $8 - local.get $8 + i64.const 50 + i64.lt_s + local.set $6 + local.get $6 if + local.get $0 local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/array/Array#__get - local.set $9 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/array/Array#__get - local.set $10 - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 - i32.const 20 - i32.sub - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - local.get $9 - call $~lib/map/Map#set - drop - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 - i32.const 20 - i32.sub - local.get $10 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|4 - end - end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $7 - loop $for-loop|6 - local.get $7 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 41 + i32.const 50 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#get - i32.const 20 - local.get $7 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.get $1 + i32.const 10 + local.get $1 + i32.wrap_i64 i32.add - i32.eq + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 42 + i32.const 52 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 44 + i32.const 54 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|6 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 46 + i32.const 56 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|8 - local.get $7 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - i32.const 10 - local.get $7 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|8 - end - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#clear - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + local.get $0 + call $~lib/map/Map#clear + local.get $0 + call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz @@ -12724,263 +12666,205 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i64) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + i32.const 8 + i32.const 8 + i32.eq + drop local.get $0 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store local.get $2 local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + return ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 + local.get $3 i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i64.load + local.get $1 + i64.eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/map/Map#rehash + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - i32.store + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + local.get $0 local.get $1 + i32.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + i64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=12 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12989,6 +12873,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -12997,658 +12886,790 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=12 i32.const 1 i32.and i32.eqz if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i32.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load8_u - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 16 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 local.get $0 - i32.load offset=16 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $2 - call $~lib/array/Array#constructor - local.tee $3 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store + local.get $0 + local.get $1 i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $3 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value + local.get $1 i32.const 0 - drop - else + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + call $~lib/array/ensureSize local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 8 - i32.mul - i32.add - local.set $4 - local.get $4 local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store + call $~lib/array/Array#set:length_ end local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store - local.get $6 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + i32.store offset=8 local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash + i32.const 224 + i32.const 704 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i64.load + local.set $2 + i32.const 0 + drop + local.get $2 ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - local.set $3 + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 local.get $3 + local.set $4 + local.get $4 if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - i32.const 10 - local.get $1 - i32.const 255 + local.get $3 + i32.load offset=16 + local.set $5 + local.get $5 + i32.const 1 i32.and - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#has i32.eqz - if + if (result i32) + local.get $3 + i64.load + local.get $1 + i64.eq + else i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.const 255 - i32.and - i32.add - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + return end - local.get $1 + local.get $5 i32.const 1 - i32.add - local.set $1 - br $for-loop|1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end end + i32.const 0 + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i64) local.get $0 - local.set $11 + local.get $1 + i64.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 i64) + local.get $0 + local.get $1 + i64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end i32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - local.set $4 - local.get $4 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $4 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.const 255 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=16 + i32.const 1 i32.and - i32.add - i32.eq i32.eqz if - i32.const 0 - i32.const 544 - i32.const 16 + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i64.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 24 + i32.add + local.set $8 + end + local.get $6 + i32.const 24 + i32.add + local.set $6 + br $while-continue|0 + end + end + local.get $0 + local.get $3 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=12 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) + (func $~lib/map/Map#clear (param $0 i32) + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + ) + (func $std/map/testNumeric + (local $0 i32) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + i64.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + i64.const 100 + i64.lt_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - i32.const 20 + i32.const 10 local.get $1 - i32.const 255 - i32.and + i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 18 + i32.const 8 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get - i32.const 20 + call $~lib/map/Map#get + i32.const 10 local.get $1 - i32.const 255 - i32.and + i32.wrap_i64 i32.add i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 19 + i32.const 9 i32.const 5 call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 - br $for-loop|3 + br $for-loop|0 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 11 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i64.const 100 + i64.lt_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 10 + local.get $1 + i32.wrap_i64 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 20 + local.get $1 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.wrap_i64 + i32.add + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|1 + end + end + local.get $0 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -13662,75 +13683,45 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + call $~lib/map/Map#keys + local.tee $2 i32.store offset=4 - local.get $11 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 + call $~lib/map/Map#values + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#values + i32.const 0 + call $~lib/map/Map#constructor local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $5 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $6 - i32.store offset=20 i32.const 0 - local.set $7 - loop $for-loop|4 - local.get $7 - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/array/Array#get:length + local.set $6 + loop $for-loop|2 + local.get $6 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 + local.set $7 + local.get $7 if - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/array/Array#__get - local.set $9 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $2 + local.get $6 + call $~lib/array/Array#__get + local.set $1 + local.get $3 + local.get $6 call $~lib/array/Array#__get - local.set $10 + local.set $8 local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13741,15 +13732,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $8 i32.const 20 i32.sub - call $~lib/map/Map#has + i64.extend_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13759,44 +13746,29 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - local.get $9 - call $~lib/map/Map#set + local.get $4 + local.get $1 + local.get $1 + call $~lib/map/Map#set drop - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $5 + local.get $8 i32.const 20 i32.sub - local.get $10 + local.get $8 i32.const 20 i32.sub call $~lib/map/Map#set drop - local.get $7 + local.get $6 i32.const 1 i32.add - local.set $7 - br $for-loop|4 + local.set $6 + br $for-loop|2 end end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + local.get $4 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -13808,12 +13780,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 + local.get $5 call $~lib/map/Map#get:size i32.const 100 i32.eq @@ -13826,25 +13793,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|6 - local.get $7 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - local.set $10 - local.get $10 + i64.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + i64.const 50 + i64.lt_u + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13855,17 +13815,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#get - i32.const 20 - local.get $7 - i32.const 255 - i32.and + local.get $1 + call $~lib/map/Map#get + i32.const 20 + local.get $1 + i32.wrap_i64 i32.add i32.eq i32.eqz @@ -13878,22 +13832,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -13904,20 +13848,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|6 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -13929,25 +13868,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|8 - local.get $7 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - local.set $9 - local.get $9 + i64.const 0 + local.set $1 + loop $for-loop|4 + local.get $1 + i64.const 50 + i64.lt_u + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -13959,27 +13891,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $1 i32.const 10 - local.get $7 - i32.const 255 - i32.and + local.get $1 + i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -13990,22 +13911,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -14016,20 +13927,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|8 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -14042,19 +13948,9 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#clear + call $~lib/map/Map#clear local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz @@ -14067,263 +13963,189 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 i32.const 4 + i32.eq + drop + local.get $0 + i32.reinterpret_f32 + local.set $1 + i32.const 4 + local.set $2 + i32.const 0 + i32.const 374761393 i32.add - global.set $~lib/memory/__stack_pointer local.get $2 + i32.add + local.set $3 + local.get $3 + local.get $1 + i32.const -1028477379 + i32.mul + i32.add + local.set $3 + local.get $3 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -2048144777 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -1028477379 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + return ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz if (result i32) - local.get $0 - i32.load offset=4 + local.get $3 + f32.load + local.get $1 + f32.eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/map/Map#rehash + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + ) + (func $~lib/map/Map#has (param $0 i32) (param $1 f32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - i32.store + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + local.get $0 local.get $1 + i32.store offset=4 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f32) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + f32.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14332,186 +14154,386 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer + (local $10 i32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 + local.get $6 + local.set $10 + local.get $10 i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + f32.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i32.load offset=4 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load16_s - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 12 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 12 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#get (param $0 i32) (param $1 f32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $2 - call $~lib/array/Array#constructor - local.tee $3 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store + local.get $0 + local.get $1 i32.const 0 - local.set $4 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 i32.lt_s - local.set $6 - local.get $6 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + f32.load + local.get $1 + f32.eq + else + i32.const 0 + end + if + local.get $3 + return end local.get $5 i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + i32.const 0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 f32) + local.get $0 + local.get $1 + f32.store offset=4 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f32) + local.get $0 + local.get $1 + f32.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14521,155 +14543,140 @@ i64.const 0 i64.store local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 + i32.const 1 + i32.add + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + local.get $10 + f32.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + f32.load offset=4 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 12 + i32.add + local.set $8 end - call $~lib/map/Map#rehash + local.get $6 + i32.const 12 + i32.add + local.set $6 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 8 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end local.get $0 - local.set $7 + local.get $3 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $2 local.get $2 i32.eqz if i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end local.get $2 @@ -14677,13 +14684,13 @@ i32.load offset=8 i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $0 local.get $0 i32.load offset=20 i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 i32.load offset=4 i32.const 1 @@ -14717,25 +14724,44 @@ end if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $3 - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#clear (param $0 i32) + local.get $0 + i32.const 0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount ) - (func $std/map/testNumeric + (func $std/map/testNumeric (local $0 i32) - (local $1 i32) + (local $1 f32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14743,11 +14769,8 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -14758,34 +14781,25 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $0 i32.store - i32.const 0 + f32.const 0 local.set $1 - loop $for-loop|1 + loop $for-loop|0 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - local.set $3 - local.get $3 + f32.const 100 + f32.lt + local.set $2 + local.get $2 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -14797,29 +14811,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 i32.const 10 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.trunc_f32_s i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14830,19 +14831,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.trunc_f32_s i32.add i32.eq i32.eqz @@ -14855,19 +14848,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f32.const 1 + f32.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -14879,27 +14867,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 + f32.const 0 local.set $1 - loop $for-loop|3 + loop $for-loop|1 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - local.set $4 - local.get $4 + f32.const 100 + f32.lt + local.set $2 + local.get $2 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14910,19 +14889,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.trunc_f32_s i32.add i32.eq i32.eqz @@ -14935,29 +14906,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 i32.const 20 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.trunc_f32_s i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -14968,19 +14926,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.trunc_f32_s i32.add i32.eq i32.eqz @@ -14993,19 +14943,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f32.const 1 + f32.add local.set $1 - br $for-loop|3 + br $for-loop|1 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -15019,75 +14964,45 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + call $~lib/map/Map#keys + local.tee $2 i32.store offset=4 - local.get $11 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 + call $~lib/map/Map#values + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#values + i32.const 0 + call $~lib/map/Map#constructor local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $5 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $6 - i32.store offset=20 i32.const 0 - local.set $7 - loop $for-loop|4 - local.get $7 - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/array/Array#get:length + local.set $6 + loop $for-loop|2 + local.get $6 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 + local.set $7 + local.get $7 if - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/array/Array#__get - local.set $9 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $2 + local.get $6 + call $~lib/array/Array#__get + local.set $1 + local.get $3 + local.get $6 call $~lib/array/Array#__get - local.set $10 + local.set $8 local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -15098,15 +15013,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $8 i32.const 20 i32.sub - call $~lib/map/Map#has + f32.convert_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -15116,44 +15027,29 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - local.get $9 - call $~lib/map/Map#set + local.get $4 + local.get $1 + local.get $1 + call $~lib/map/Map#set drop - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $5 + local.get $8 i32.const 20 i32.sub - local.get $10 + local.get $8 i32.const 20 i32.sub call $~lib/map/Map#set drop - local.get $7 + local.get $6 i32.const 1 i32.add - local.set $7 - br $for-loop|4 + local.set $6 + br $for-loop|2 end end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + local.get $4 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -15165,12 +15061,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 + local.get $5 call $~lib/map/Map#get:size i32.const 100 i32.eq @@ -15183,28 +15074,19 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|6 - local.get $7 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $10 - local.get $10 + f32.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + f32.const 50 + f32.lt + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has - i32.eqz + local.get $1 + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 544 @@ -15214,19 +15096,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#get + local.get $1 + call $~lib/map/Map#get i32.const 20 - local.get $7 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + local.get $1 + i32.trunc_f32_s i32.add i32.eq i32.eqz @@ -15239,22 +15113,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -15265,20 +15129,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|6 + local.get $1 + f32.const 1 + f32.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -15290,27 +15149,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|8 - local.get $7 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $9 - local.get $9 + f32.const 0 + local.set $1 + loop $for-loop|4 + local.get $1 + f32.const 50 + f32.lt + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -15322,29 +15172,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $1 i32.const 10 - local.get $7 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + local.get $1 + i32.trunc_f32_s i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -15355,22 +15192,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -15381,20 +15208,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|8 + local.get $1 + f32.const 1 + f32.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -15407,19 +15229,9 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#clear + call $~lib/map/Map#clear local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz @@ -15432,355 +15244,206 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $3 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + i32.store offset=20 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 f64) (result i32) + (local $1 i64) (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 + i64.reinterpret_f64 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $2 + local.get $2 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add local.set $2 local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + return ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.load local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 if - local.get $1 + local.get $3 + i32.load offset=12 + local.set $5 local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 i32.const 1 i32.and i32.eqz + if (result i32) + local.get $3 + f64.load + local.get $1 + f64.eq + else + i32.const 0 + end if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load16_u - call $~lib/array/Array#__set + return end local.get $5 i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + i32.const 0 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f64) + local.get $0 + local.get $1 + f64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -15789,6 +15452,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 f64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -15797,310 +15465,360 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=12 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + f64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + i32.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 16 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 + (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store - local.get $7 + local.get $0 local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + f64.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value + local.get $1 i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.lt_s if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + i32.const 224 + i32.const 704 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 8 - i32.mul - i32.add - local.set $4 - local.get $4 local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 + i32.const 3 + call $~lib/array/ensureSize local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul + local.get $1 + i32.const 1 i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store + call $~lib/array/Array#set:length_ end local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/map/Map#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store - local.get $6 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + i32.store offset=4 + ) + (func $~lib/map/Map#set:entries (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + i32.store offset=8 local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.get $1 + i32.store offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + local.get $1 + local.get $0 + i32.load offset=12 i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash + i32.const 224 + i32.const 704 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and i32.const 4 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=16 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + f64.load + local.get $1 + f64.eq + else + i32.const 0 + end + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end + end + i32.const 0 ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) + (func $~lib/map/MapEntry#set:value (param $0 i32) (param $1 f64) + local.get $0 + local.get $1 + f64.store offset=8 + ) + (func $~lib/map/MapEntry#set:key (param $0 i32) (param $1 f64) + local.get $0 + local.get $1 + f64.store + ) + (func $~lib/map/MapEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16111,76 +15829,296 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 f64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + local.get $1 + i32.const 1 + i32.add + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 65535 - i32.and - i32.const 100 - i32.lt_u - local.set $3 - local.get $3 + local.get $4 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - call $~lib/map/Map#has - i32.eqz + local.get $6 + local.set $10 + local.get $10 + i32.load offset=16 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $8 + local.set $11 + local.get $10 + f64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/map/MapEntry#set:key + local.get $11 + local.get $10 + f64.load offset=8 + call $~lib/map/MapEntry#set:value + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 24 + i32.add + local.set $8 end - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $1 - i32.const 10 - local.get $1 - i32.const 65535 - i32.and + local.get $6 + i32.const 24 i32.add - call $~lib/map/Map#set + local.set $6 + br $while-continue|0 + end + end + local.get $0 + local.get $3 + call $~lib/map/Map#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/map/Map#delete (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=12 + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + i32.const 1 + ) + (func $~lib/map/Map#clear (param $0 i32) + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + ) + (func $std/map/testNumeric + (local $0 i32) + (local $1 f64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $0 + i32.store + f64.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + f64.const 100 + f64.lt + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/map/Map#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 10 + local.get $1 + i32.trunc_f64_s + i32.add + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16191,17 +16129,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $1 - i32.const 65535 - i32.and + i32.trunc_f64_s i32.add i32.eq i32.eqz @@ -16214,19 +16146,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f64.const 1 + f64.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -16238,25 +16165,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 + f64.const 0 local.set $1 - loop $for-loop|3 + loop $for-loop|1 local.get $1 - i32.const 65535 - i32.and - i32.const 100 - i32.lt_u - local.set $4 - local.get $4 + f64.const 100 + f64.lt + local.set $2 + local.get $2 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16267,17 +16187,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $1 - i32.const 65535 - i32.and + i32.trunc_f64_s i32.add i32.eq i32.eqz @@ -16290,27 +16204,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 i32.const 20 local.get $1 - i32.const 65535 - i32.and + i32.trunc_f64_s i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16321,17 +16224,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 local.get $1 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $1 - i32.const 65535 - i32.and + i32.trunc_f64_s i32.add i32.eq i32.eqz @@ -16344,19 +16241,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f64.const 1 + f64.add local.set $1 - br $for-loop|3 + br $for-loop|1 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -16370,75 +16262,45 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + call $~lib/map/Map#keys + local.tee $2 i32.store offset=4 - local.get $11 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $11 + call $~lib/map/Map#values + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#values + i32.const 0 + call $~lib/map/Map#constructor local.tee $4 i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $5 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $6 - i32.store offset=20 i32.const 0 - local.set $7 - loop $for-loop|4 - local.get $7 - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/array/Array#get:length + local.set $6 + loop $for-loop|2 + local.get $6 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $8 - local.get $8 + local.set $7 + local.get $7 if - local.get $1 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/array/Array#__get - local.set $9 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $2 + local.get $6 + call $~lib/array/Array#__get + local.set $1 + local.get $3 + local.get $6 call $~lib/array/Array#__get - local.set $10 + local.set $8 local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16449,15 +16311,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $8 i32.const 20 i32.sub - call $~lib/map/Map#has + f64.convert_i32_s + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16467,44 +16325,29 @@ call $~lib/builtins/abort unreachable end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $9 - local.get $9 - call $~lib/map/Map#set + local.get $4 + local.get $1 + local.get $1 + call $~lib/map/Map#set drop - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $10 + local.get $5 + local.get $8 i32.const 20 i32.sub - local.get $10 + local.get $8 i32.const 20 i32.sub call $~lib/map/Map#set drop - local.get $7 + local.get $6 i32.const 1 i32.add - local.set $7 - br $for-loop|4 + local.set $6 + br $for-loop|2 end end - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + local.get $4 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -16516,12 +16359,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 + local.get $5 call $~lib/map/Map#get:size i32.const 100 i32.eq @@ -16534,25 +16372,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|6 - local.get $7 - i32.const 65535 - i32.and - i32.const 50 - i32.lt_u - local.set $10 - local.get $10 + f64.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + f64.const 50 + f64.lt + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16563,17 +16394,11 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#get + local.get $1 + call $~lib/map/Map#get i32.const 20 - local.get $7 - i32.const 65535 - i32.and + local.get $1 + i32.trunc_f64_s i32.add i32.eq i32.eqz @@ -16586,22 +16411,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -16612,20 +16427,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|6 + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -16637,25 +16447,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $7 - loop $for-loop|8 - local.get $7 - i32.const 65535 - i32.and - i32.const 50 - i32.lt_u - local.set $9 - local.get $9 + f64.const 0 + local.set $1 + loop $for-loop|4 + local.get $1 + f64.const 50 + f64.lt + local.set $6 + local.get $6 if local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -16667,27 +16470,16 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 + local.get $1 i32.const 10 - local.get $7 - i32.const 65535 - i32.and + local.get $1 + i32.trunc_f64_s i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -16698,22 +16490,12 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#delete + local.get $1 + call $~lib/map/Map#delete drop local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - local.get $7 - call $~lib/map/Map#has + local.get $1 + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -16724,20 +16506,15 @@ call $~lib/builtins/abort unreachable end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|8 + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -16750,19 +16527,9 @@ unreachable end local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#clear + call $~lib/map/Map#clear local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/map/Map#get:size + call $~lib/map/Map#get:size i32.const 0 i32.eq i32.eqz @@ -16775,4994 +16542,1597 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/rt/itcms/__collect + (local $0 i32) i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + drop + global.get $~lib/rt/itcms/state i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + (func $start:std/map + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 144 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $std/map/testNumeric + call $~lib/rt/itcms/__collect + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 224 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz + call $~lib/rt/itcms/__visit + i32.const 432 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 592 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + if (result i32) + i32.const 1 + else + i32.const 0 end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + if (result i32) + i32.const 1 + else + i32.const 0 end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 - local.get $2 - i32.eqz - if + i32.const 0 + if (result i32) + i32.const 1 + else i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return end + drop local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u + i32.load offset=8 + local.set $2 + i32.const 0 if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.const 1 else i32.const 0 end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i32.const 100 - i32.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 100 - i32.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $3 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 - i32.const 0 - local.set $5 - loop $for-loop|2 - local.get $5 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - local.set $7 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - local.set $8 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $7 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $7 - local.get $7 - call $~lib/map/Map#set - drop - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|2 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $5 - loop $for-loop|3 - local.get $5 - i32.const 50 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#get - i32.const 20 - local.get $5 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|3 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 - i32.const 50 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - i32.const 10 - local.get $5 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|4 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i32.const 100 - i32.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 100 - i32.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $3 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=20 - i32.const 0 - local.set $5 - loop $for-loop|2 - local.get $5 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - local.set $7 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - local.set $8 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $7 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $7 - local.get $7 - call $~lib/map/Map#set - drop - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|2 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $5 - loop $for-loop|3 - local.get $5 - i32.const 50 - i32.lt_u - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#get - i32.const 20 - local.get $5 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|3 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 - i32.const 50 - i32.lt_u - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - i32.const 10 - local.get $5 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|4 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 16 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i64.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=8 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 24 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=12 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i64.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i64.const 100 - i64.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i64.const 100 - i64.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $5 - i32.store offset=20 - i32.const 0 - local.set $6 - loop $for-loop|2 - local.get $6 - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length - i32.lt_s - local.set $7 - local.get $7 - if - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $1 - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $8 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - i64.extend_i32_s - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.get $1 - call $~lib/map/Map#set - drop - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|2 - end - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i64.const 50 - i64.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|3 - end - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) + i32.const 1 + else i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - i64.const 50 - i64.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|4 - end end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) + i32.const 1 + else i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + else i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.store + drop local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 + i32.load local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $3 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 + i32.load local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 16 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value + else i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + call $~lib/map/Map#__visit ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 + i32.load local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 - local.get $2 - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 end + drop local.get $2 - i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.store + drop + local.get $0 + i32.load local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + else + i32.const 0 end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/map/Map#__visit ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i64.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=8 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $3 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 + i32.load local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 24 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value + else i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $1 + call $~lib/map/Map#__visit ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) (result i32) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - i32.store + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop local.get $2 - i32.eqz - if + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + if (result i32) + i32.const 1 + else i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return end + drop local.get $2 - local.get $2 - i32.load offset=12 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.const 1 else i32.const 0 end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 - i32.store - i64.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i64.const 100 - i64.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable + (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/map/Map + block $~lib/map/Map + block $~lib/map/Map + block $~lib/array/Array + block $~lib/array/Array + block $~lib/map/Map + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map $~lib/array/Array $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|0 + call $~lib/array/Array~visit + return end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return end - local.get $0 - local.set $9 + unreachable + ) + (func $~start + call $start:std/map + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 + i32.const 17408 + i32.const 17456 + i32.const 1 + i32.const 1 call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i64.const 100 - i64.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|1 - end + unreachable end - local.get $0 - local.set $9 + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 1073741820 + i32.gt_u if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 + i32.const 432 + i32.const 480 + i32.const 49 + i32.const 43 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 + i32.store + local.get $2 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $3 - i32.store offset=12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - call $~lib/map/Map#constructor - local.tee $5 - i32.store offset=20 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 i32.const 0 - local.set $6 - loop $for-loop|2 - local.get $6 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 + if + local.get $4 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length - i32.lt_s - local.set $7 - local.get $7 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $1 - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $8 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - i64.extend_i32_s - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.get $1 - call $~lib/map/Map#set - drop - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|2 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end - local.get $4 - local.set $9 + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - i64.const 0 + local.get $1 + i32.const 0 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/map/Map#keys (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|3 - local.get $1 - i64.const 50 - i64.lt_u - local.set $6 - local.get $6 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.wrap_i64 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if local.get $1 - call $~lib/map/Map#has - i32.eqz + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load8_s + call $~lib/array/Array#__set end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|3 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - i64.const 0 + local.get $1 + i32.const 2 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|4 - local.get $1 - i64.const 50 - i64.lt_u + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s local.set $6 local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - i32.const 10 - local.get $1 - i32.wrap_i64 + local.get $5 + i32.const 12 + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|4 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - local.set $9 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size i32.const 0 - i32.eq + i32.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21771,57 +18141,138 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 + if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 8 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store + end local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $7 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $1 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $1 local.get $3 - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $4 local.get $4 if local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else @@ -21832,11 +18283,6 @@ i32.eq if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $0 i32.load offset=20 local.get $0 @@ -21857,13 +18303,13 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $5 - i32.store offset=4 + i32.store local.get $5 local.get $0 local.get $0 @@ -21871,7 +18317,7 @@ local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $6 i32.const 12 i32.mul @@ -21879,12 +18325,12 @@ local.set $4 local.get $4 local.get $1 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key i32.const 0 drop local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop local.get $0 @@ -21892,7 +18338,7 @@ i32.load offset=20 i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 i32.load local.get $3 @@ -21906,7 +18352,7 @@ local.get $4 local.get $6 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $6 local.get $4 i32.store @@ -21914,14 +18360,13 @@ local.get $0 local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $7 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21931,37 +18376,57 @@ i32.const 0 i32.store local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 i32.eqz if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $2 - i32.load offset=4 - local.set $3 + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $1 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21971,48 +18436,192 @@ i32.const 0 i32.store local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.load offset=12 - i32.ge_u + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if - local.get $1 + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value i32.const 0 - i32.lt_s + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 i32.const 1 i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store + end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end local.get $0 - local.set $3 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 0 + i32.shl + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 local.get $3 - i32.store + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 local.get $3 - local.get $1 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 local.get $2 - call $~lib/array/Array#__uset + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -22023,13 +18632,13 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=8 local.set $1 @@ -22039,7 +18648,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + call $~lib/array/Array#constructor local.tee $3 i32.store i32.const 0 @@ -22066,11 +18675,6 @@ i32.eqz if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 local.tee $8 i32.const 1 @@ -22078,8 +18682,8 @@ local.set $4 local.get $8 local.get $7 - f32.load - call $~lib/array/Array#__set + i32.load8_u + call $~lib/array/Array#__set end local.get $5 i32.const 1 @@ -22089,22 +18693,17 @@ end end local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - call $~lib/array/Array#set:length + call $~lib/array/Array#set:length local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) + (func $~lib/map/Map#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -22115,13 +18714,13 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=8 local.set $1 @@ -22145,192 +18744,49 @@ local.set $6 local.get $6 if - local.get $1 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load offset=4 - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 f32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store + local.get $1 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end end - local.get $0 - local.set $7 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $9 ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22340,756 +18796,767 @@ i32.const 0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 i32.eqz if - i32.const 0 - local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + i32.const 24 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - i32.load offset=20 + i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:bucketsMask local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add + i32.const 0 i32.const 4 - local.tee $4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/map/Map#rehash - end - i32.const 1 - local.set $6 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $1 ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 f32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 i32.store - f32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - f32.const 100 - f32.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.trunc_f32_s - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.trunc_f32_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - f32.const 100 - f32.lt - local.set $2 + local.get $4 local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.trunc_f32_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.trunc_f32_s - i32.add - call $~lib/map/Map#set - drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.load offset=20 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.trunc_f32_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|1 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 8 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end local.get $0 - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $0 - local.set $9 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $3 - i32.store offset=12 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=16 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $5 - i32.store offset=20 - i32.const 0 - local.set $6 - loop $for-loop|2 - local.get $6 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 + if + local.get $4 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length - i32.lt_s - local.set $7 - local.get $7 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $1 - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $8 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - f32.convert_i32_s - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.get $1 - call $~lib/map/Map#set - drop - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|2 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end - local.get $4 - local.set $9 + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $9 + local.get $1 + i32.const 1 + i32.shl + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/map/Map#keys (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|3 - local.get $1 - f32.const 50 - f32.lt + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s local.set $6 local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 local.get $1 - i32.trunc_f32_s + local.get $5 + i32.const 12 + i32.mul i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load16_s + call $~lib/array/Array#__set end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|3 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|4 - local.get $1 - f32.const 50 - f32.lt + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s local.set $6 local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - i32.const 10 - local.get $1 - i32.trunc_f32_s + local.get $5 + i32.const 12 + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|4 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets local.get $0 - local.set $9 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size i32.const 0 - i32.eq - i32.eqz + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 8 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $7 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23099,56 +19566,78 @@ i32.const 0 i32.store local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - i32.ne - local.set $2 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $1 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $1 local.get $3 - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $4 local.get $4 if local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else @@ -23159,11 +19648,6 @@ i32.eq if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $0 i32.load offset=20 local.get $0 @@ -23184,13 +19668,13 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $5 - i32.store offset=4 + i32.store local.get $5 local.get $0 local.get $0 @@ -23198,20 +19682,20 @@ local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 16 + i32.const 12 i32.mul i32.add local.set $4 local.get $4 local.get $1 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key i32.const 0 drop local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop local.get $0 @@ -23219,7 +19703,7 @@ i32.load offset=20 i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 i32.load local.get $3 @@ -23233,7 +19717,7 @@ local.get $4 local.get $6 i32.load - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $6 local.get $4 i32.store @@ -23241,105 +19725,93 @@ local.get $0 local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $7 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - i32.store + call $~lib/array/Array#set:buffer local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load offset=8 - local.set $3 + local.get $1 + i32.const 1 + i32.shl + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 local.get $3 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $2 + call $~lib/memory/memory.fill local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store + call $~lib/array/Array#set:buffer + local.get $0 local.get $3 - local.get $1 + call $~lib/array/Array#set:dataStart + local.get $0 local.get $2 - call $~lib/array/Array#__uset + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -23350,13 +19822,13 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=8 local.set $1 @@ -23366,7 +19838,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + call $~lib/array/Array#constructor local.tee $3 i32.store i32.const 0 @@ -23382,22 +19854,17 @@ if local.get $1 local.get $5 - i32.const 16 + i32.const 12 i32.mul i32.add local.set $7 local.get $7 - i32.load offset=12 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 local.tee $8 i32.const 1 @@ -23405,8 +19872,8 @@ local.set $4 local.get $8 local.get $7 - f64.load - call $~lib/array/Array#__set + i32.load16_u + call $~lib/array/Array#__set end local.get $5 i32.const 1 @@ -23416,22 +19883,17 @@ end end local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 - call $~lib/array/Array#set:length + call $~lib/array/Array#set:length local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/map/Map#values (param $0 i32) (result i32) + (func $~lib/map/Map#values (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -23442,13 +19904,13 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.load offset=8 local.set $1 @@ -23474,22 +19936,17 @@ if local.get $1 local.get $5 - i32.const 16 + i32.const 12 i32.mul i32.add local.set $7 local.get $7 - i32.load offset=12 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 local.tee $8 i32.const 1 @@ -23497,7 +19954,7 @@ local.set $4 local.get $8 local.get $7 - i32.load offset=8 + i32.load offset=4 call $~lib/array/Array#__set end local.get $5 @@ -23508,53 +19965,99 @@ end end local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $4 call $~lib/array/Array#set:length local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 f64) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $1 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $3 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $1 local.get $3 - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $4 local.get $4 if local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else @@ -23565,11 +20068,6 @@ i32.eq if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $0 i32.load offset=20 local.get $0 @@ -23590,13 +20088,13 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer local.get $0 i32.load offset=8 local.tee $5 - i32.store offset=4 + i32.store local.get $5 local.get $0 local.get $0 @@ -23604,155 +20102,56 @@ local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $6 - i32.const 24 + i32.const 8 i32.mul i32.add local.set $4 local.get $4 local.get $1 - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key i32.const 0 drop local.get $4 local.get $2 - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop local.get $0 local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=12 - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add local.set $6 - global.get $~lib/memory/__stack_pointer + local.get $4 local.get $6 - i32.store + i32.load + call $~lib/map/MapEntry#set:taggedNext local.get $6 - local.get $3 - call $~lib/map/Map#rehash + local.get $4 + i32.store end - i32.const 1 - local.set $6 + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $7 ) - (func $std/map/testNumeric - (local $0 i32) - (local $1 f64) + (func $~lib/map/Map#keys (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -23762,662 +20161,507 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $0 i32.store - f64.const 0 + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|0 - local.get $1 - f64.const 100 - f64.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 - local.get $1 - i32.trunc_f64_s - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.trunc_f64_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|0 - end - end local.get $0 - local.set $9 + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - f64.const 100 - f64.lt - local.set $2 + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 local.get $2 + i32.lt_s + local.set $6 + local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 10 - local.get $1 - i32.trunc_f64_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 20 - local.get $1 - i32.trunc_f64_s - i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.trunc_f64_s + local.get $5 + i32.const 12 + i32.mul i32.add - i32.eq + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load + call $~lib/array/Array#__set end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|1 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 21 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $9 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#keys - local.tee $2 - i32.store offset=8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#values - local.tee $3 - i32.store offset=12 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $4 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store i32.const 0 - call $~lib/map/Map#constructor - local.tee $5 - i32.store offset=20 + local.set $4 i32.const 0 - local.set $6 - loop $for-loop|2 - local.get $6 + local.set $5 + loop $for-loop|0 + local.get $5 local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length i32.lt_s - local.set $7 - local.get $7 + local.set $6 + local.get $6 if - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $1 - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $6 - call $~lib/array/Array#__get - local.set $8 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - f64.convert_i32_s - call $~lib/map/Map#has + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.get $1 - call $~lib/map/Map#set - drop local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $8 - i32.const 20 - i32.sub - local.get $8 - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $6 i32.const 1 i32.add - local.set $6 - br $for-loop|2 + local.set $5 + br $for-loop|0 end end + local.get $3 local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $9 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - f64.const 50 - f64.lt - local.set $6 - local.get $6 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#get - i32.const 20 - local.get $1 - i32.trunc_f64_s - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop + i32.load offset=20 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|3 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end local.get $0 - local.set $9 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $0 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $0 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $0 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $1 + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 58 + i32.const 60 call $~lib/builtins/abort unreachable end - f64.const 0 + local.get $1 + i32.const 2 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/array/Array#set:buffer + local.get $0 + local.get $3 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/map/Map#keys (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 local.set $1 - loop $for-loop|4 - local.get $1 - f64.const 50 - f64.lt + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s local.set $6 local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - i32.const 10 local.get $1 - i32.trunc_f64_s + local.get $5 + i32.const 12 + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/map/Map#has - i32.eqz + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load + call $~lib/array/Array#__set end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|4 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#clear - local.get $0 + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/map/Map#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24426,36 +20670,71 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $1 - i32.const 1073741820 - i32.gt_u - if - i32.const 432 - i32.const 480 - i32.const 49 - i32.const 43 - call $~lib/builtins/abort - unreachable - end + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - local.set $3 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $9 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24470,7 +20749,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 3 + i32.const 19 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -24481,28 +20760,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -24511,225 +20790,126 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $0 - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 0 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 + i32.store local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $0 - i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end local.get $1 - i32.const 2 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 + call $~lib/map/Map#find local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $4 - ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.eqz if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24744,7 +20924,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 7 + i32.const 20 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -24755,28 +20935,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 12 + i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -24785,8 +20965,12 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24795,53 +20979,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 i32.store - end - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 16 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store + end local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -24858,26 +21101,26 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 9 + i32.const 21 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 0 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 i32.const 0 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $1 i32.const 1073741820 - i32.const 0 + i32.const 3 i32.shr_u i32.gt_u if @@ -24889,7 +21132,7 @@ unreachable end local.get $1 - i32.const 0 + i32.const 3 i32.shl local.set $2 global.get $~lib/memory/__stack_pointer @@ -24904,16 +21147,16 @@ call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 local.get $2 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer @@ -24922,8 +21165,16 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24933,52 +21184,152 @@ i32.const 0 i32.store local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + i32.store local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=8 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $9 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24993,7 +21344,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 11 + i32.const 22 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25004,118 +21355,156 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 12 + i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entries local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/map/Map#set:entriesCount local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 1 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.const 1 - i32.shl - local.set $2 + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 + i32.store local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/util/hash/HASH + local.set $3 local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find local.set $4 + local.get $4 + if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 24 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store + end + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25130,7 +21519,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 13 + i32.const 23 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25141,28 +21530,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 8 + i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -25171,8 +21560,12 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25181,53 +21574,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 16 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -25244,26 +21696,26 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 15 + i32.const 24 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 0 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 i32.const 0 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $1 i32.const 1073741820 - i32.const 1 + i32.const 3 i32.shr_u i32.gt_u if @@ -25275,7 +21727,7 @@ unreachable end local.get $1 - i32.const 1 + i32.const 3 i32.shl local.set $2 global.get $~lib/memory/__stack_pointer @@ -25290,16 +21742,16 @@ call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 local.get $2 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer @@ -25308,8 +21760,16 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25319,52 +21779,152 @@ i32.const 0 i32.store local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + i32.store local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=8 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $9 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25379,7 +21939,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 17 + i32.const 25 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25390,28 +21950,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 12 + i32.const 24 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -25420,88 +21980,126 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $1 - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 24 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end - local.get $1 - i32.const 2 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array#set:dataStart local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25516,7 +22114,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 19 + i32.const 26 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25527,28 +22125,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -25557,8 +22155,12 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25567,53 +22169,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -25630,26 +22291,26 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 21 + i32.const 27 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 0 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 i32.const 0 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $1 i32.const 1073741820 - i32.const 3 + i32.const 2 i32.shr_u i32.gt_u if @@ -25661,7 +22322,7 @@ unreachable end local.get $1 - i32.const 3 + i32.const 2 i32.shl local.set $2 global.get $~lib/memory/__stack_pointer @@ -25676,16 +22337,16 @@ call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 local.get $2 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer @@ -25694,8 +22355,16 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25705,52 +22374,152 @@ i32.const 0 i32.store local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + f32.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + i32.store local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + i32.load offset=8 + local.set $1 local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=4 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $9 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25765,7 +22534,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 23 + i32.const 28 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25776,28 +22545,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 16 + i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -25806,88 +22575,126 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 f32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ local.get $1 - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store end - local.get $1 - i32.const 3 - i32.shl - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 - local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ local.get $0 - local.set $4 + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25902,7 +22709,7 @@ if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 25 + i32.const 29 call $~lib/rt/itcms/__new local.tee $0 i32.store @@ -25913,28 +22720,28 @@ i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets + call $~lib/map/Map#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $0 i32.const 0 i32.const 4 - i32.const 24 + i32.const 16 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries + call $~lib/map/Map#set:entries local.get $0 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -25943,8 +22750,12 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25953,53 +22764,112 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 26 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 16 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -26016,26 +22886,26 @@ if global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 27 + i32.const 30 call $~lib/rt/itcms/__new local.tee $0 i32.store end local.get $0 i32.const 0 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 i32.const 0 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 i32.const 0 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $1 i32.const 1073741820 - i32.const 2 + i32.const 3 i32.shr_u i32.gt_u if @@ -26047,7 +22917,7 @@ unreachable end local.get $1 - i32.const 2 + i32.const 3 i32.shl local.set $2 global.get $~lib/memory/__stack_pointer @@ -26062,16 +22932,16 @@ call $~lib/memory/memory.fill local.get $0 local.get $3 - call $~lib/array/Array#set:buffer + call $~lib/array/Array#set:buffer local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart + call $~lib/array/Array#set:dataStart local.get $0 local.get $2 - call $~lib/array/Array#set:byteLength + call $~lib/array/Array#set:byteLength local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer @@ -26080,8 +22950,16 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (func $~lib/map/Map#keys (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26091,187 +22969,150 @@ i32.const 0 i32.store local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 28 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 + i32.load offset=8 local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 i32.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 + local.set $4 i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $0 - local.set $1 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + f64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $9 ) - (func $~lib/array/Array#constructor (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map#values (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 30 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $0 i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store local.get $0 - i32.const 0 - call $~lib/array/Array#set:byteLength + i32.load offset=8 + local.set $1 local.get $0 - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $1 - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 3 - i32.shl + i32.load offset=16 local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 i32.const 0 - call $~lib/rt/itcms/__new + local.get $2 + call $~lib/array/Array#constructor local.tee $3 - i32.store offset=4 - local.get $3 + i32.store i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load offset=8 + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end local.get $3 - call $~lib/array/Array#set:buffer - local.get $0 + local.get $4 + call $~lib/array/Array#set:length local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 - local.set $4 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $9 ) (func $~lib/map/Map#constructor (param $0 i32) (result i32) (local $1 i32) @@ -26329,4 +23170,123 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 f64) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 + if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 24 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 + i32.store + end + local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) ) diff --git a/tests/compiler/std/object.optimized.wat b/tests/compiler/std/object.optimized.wat index 978fcfe3e6..8fbd296da9 100644 --- a/tests/compiler/std/object.optimized.wat +++ b/tests/compiler/std/object.optimized.wat @@ -68,66 +68,33 @@ i32.ne i32.eq ) - (func $~start - call $start:std/object - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 1212 - i32.lt_s - if - i32.const 17616 - i32.const 17664 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $~lib/object/Object.is<~lib/string/String> (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + block $__inlined_func$~lib/string/String.__eq (result i32) i32.const 1 - return - end - block $folding-inner0 + local.get $0 + local.get $1 + i32.eq + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 local.get $1 i32.eqz i32.const 1 local.get $0 select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + br_if $__inlined_func$~lib/string/String.__eq + drop + i32.const 0 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 + local.tee $2 local.get $1 i32.const 20 i32.sub @@ -135,13 +102,8 @@ i32.const 1 i32.shr_u i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + br_if $__inlined_func$~lib/string/String.__eq + drop block $__inlined_func$~lib/util/string/compareImpl (result i32) local.get $0 local.tee $3 @@ -154,6 +116,7 @@ i32.eqz i32.const 0 local.get $2 + local.tee $0 i32.const 4 i32.ge_u select @@ -173,10 +136,10 @@ i32.const 8 i32.add local.set $1 - local.get $2 + local.get $0 i32.const 4 i32.sub - local.tee $2 + local.tee $0 i32.const 4 i32.ge_u br_if $do-continue|0 @@ -184,23 +147,23 @@ end end loop $while-continue|1 - local.get $2 - local.tee $0 + local.get $0 + local.tee $2 i32.const 1 i32.sub - local.set $2 - local.get $0 + local.set $0 + local.get $2 if local.get $3 i32.load16_u - local.tee $4 + local.tee $2 local.get $1 i32.load16_u - local.tee $0 + local.tee $4 i32.ne if + local.get $2 local.get $4 - local.get $0 i32.sub br $__inlined_func$~lib/util/string/compareImpl end @@ -217,48 +180,28 @@ end i32.const 0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer i32.eqz - return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 ) - (func $~lib/object/Object.is<~lib/string/String> (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - call $~lib/string/String.__eq - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + (func $~start + call $start:std/object ) (func $start:std/object global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 1212 + i32.lt_s + if + i32.const 17616 + i32.const 17664 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i64.const 0 i64.store diff --git a/tests/compiler/std/object.untouched.wat b/tests/compiler/std/object.untouched.wat index 02e116ff40..eaba429dbf 100644 --- a/tests/compiler/std/object.untouched.wat +++ b/tests/compiler/std/object.untouched.wat @@ -207,44 +207,13 @@ end i32.const 0 ) - (func $~start - call $start:std/object - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 16592 - i32.const 16640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 local.get $1 i32.eq if i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 return end local.get $0 @@ -259,128 +228,56 @@ end if i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 return end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 call $~lib/string/String#get:length local.set $2 local.get $2 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 call $~lib/string/String#get:length i32.ne if i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 return end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 i32.const 0 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 local.get $2 call $~lib/util/string/compareImpl i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $~lib/object/Object.is<~lib/string/String> (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 drop local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/string/String.__eq - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/object/Object.is<~lib/string/String|null> (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store i32.const 0 drop local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/string/String.__eq - local.set $2 + ) + (func $~start + call $start:std/object + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 16592 + i32.const 16640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) (func $start:std/object (local $0 i32) diff --git a/tests/compiler/std/operator-overloading.optimized.wat b/tests/compiler/std/operator-overloading.optimized.wat index 06db26fe72..25aa6479a0 100644 --- a/tests/compiler/std/operator-overloading.optimized.wat +++ b/tests/compiler/std/operator-overloading.optimized.wat @@ -3099,9 +3099,6 @@ global.get $std/operator-overloading/incdec local.tee $0 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load i32.const 1 @@ -3158,9 +3155,6 @@ global.get $std/operator-overloading/incdec local.tee $0 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load i32.const 1 diff --git a/tests/compiler/std/operator-overloading.untouched.wat b/tests/compiler/std/operator-overloading.untouched.wat index 52e857ca17..95d7fa95a8 100644 --- a/tests/compiler/std/operator-overloading.untouched.wat +++ b/tests/compiler/std/operator-overloading.untouched.wat @@ -4549,11 +4549,6 @@ local.tee $0 i32.store offset=8 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $std/operator-overloading/Tester#postInc global.set $std/operator-overloading/incdec local.get $0 @@ -4605,11 +4600,6 @@ local.tee $0 i32.store offset=8 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $std/operator-overloading/Tester#postDec global.set $std/operator-overloading/incdec local.get $0 diff --git a/tests/compiler/std/set.optimized.wat b/tests/compiler/std/set.optimized.wat index 7225cfd99e..440277b2b4 100644 --- a/tests/compiler/std/set.optimized.wat +++ b/tests/compiler/std/set.optimized.wat @@ -1,10 +1,10 @@ (module (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $none_=>_none (func)) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_=>_none (func (param i32))) (type $i32_i64_=>_none (func (param i32 i64))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) @@ -1898,6 +1898,15 @@ end i32.const 0 ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2011,6 +2020,87 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 + call $~lib/set/Set#find + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $2 + local.get $1 + i32.store8 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $2 + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $2 + i32.store + end + ) (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -2281,6 +2371,42 @@ i32.store offset=8 end ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 + end + local.get $1 + local.get $0 + i32.load offset=4 + i32.add + local.get $2 + i32.store8 + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2309,6 +2435,65 @@ i32.add i32.load8_s ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.tee $1 + i32.eqz + if + return + end + local.get $1 + local.get $1 + i32.load offset=4 + i32.const 1 + i32.or + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + i32.store offset=20 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $2 + call $~lib/set/Set#rehash + end + ) (func $~lib/set/Set#clear (param $0 i32) local.get $0 i32.const 16 @@ -2331,39 +2516,9 @@ i32.const 0 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $std/set/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2371,8 +2526,10 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2380,2282 +2537,14 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load8_u - local.tee $7 - i32.store8 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $8 - i32.const 8 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_u - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load16_s - local.tee $7 - i32.store16 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $8 - i32.const 8 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load16_u - local.tee $7 - i32.store16 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $8 - i32.const 8 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i32.load - i32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load - local.tee $7 - i32.store - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $8 - i32.const 8 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i32.load - i32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load - local.tee $7 - i32.store - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=4 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $8 - i32.const 8 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i32) - local.get $0 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $0 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 - local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 - local.get $1 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load - i64.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 4 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 4 - i32.shl - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=8 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 16 - i32.add - local.set $2 - end - local.get $9 - i32.const 16 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 3 - i32.store offset=4 - local.get $0 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries - local.get $0 - i32.const 4 - i32.store offset=12 - local.get $0 - i32.const 0 - i32.store offset=16 - local.get $0 - i32.const 0 - i32.store offset=20 - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load - i64.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 4 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 4 - i32.shl - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - i64.load - local.tee $5 - i64.store - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=8 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 16 - i32.add - local.set $2 - end - local.get $9 - i32.const 16 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/util/hash/HASH (param $0 f32) (result i32) - (local $1 i32) - local.get $0 - i32.reinterpret_f32 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 - local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 - local.get $1 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=4 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - f32.load - f32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - f32.load - local.tee $5 - f32.store - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=4 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $9 - i32.const 8 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - ) - (func $~lib/util/hash/HASH (param $0 f64) (result i32) - (local $1 i32) - (local $2 i64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 - local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 - local.get $1 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - f64.load - f64.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 4 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $9 - local.get $0 - i32.load offset=16 - i32.const 4 - i32.shl - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - f64.load - local.tee $5 - f64.store - local.get $2 - local.get $8 - local.get $5 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $4 - i32.load - i32.store offset=8 - local.get $4 - local.get $2 - i32.store - local.get $2 - i32.const 16 - i32.add - local.set $2 - end - local.get $9 - i32.const 16 - i32.add - local.set $9 - br $while-continue|0 - end - end - local.get $0 - local.get $8 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/set/Set#set:entries - local.get $0 - local.get $7 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - ) - (func $~start - memory.size - i32.const 16 - i32.shl - i32.const 18220 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1168 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1200 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1344 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 1836 - i32.lt_s - if - i32.const 18240 - i32.const 18288 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $3 - call $~lib/set/Set#find - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - local.get $1 - i32.store8 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $2 - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.get $0 - i32.load offset=4 - i32.add - local.get $2 - i32.store8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.const 0 - i32.store offset=12 - local.get $0 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - call $~lib/memory/memory.fill - local.get $2 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $2 - local.get $3 - i32.store offset=4 - local.get $2 - local.get $0 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - loop $for-loop|0 - local.get $0 - local.get $4 - i32.gt_s - if - local.get $5 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $3 - i32.load8_s - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.tee $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $1 - local.get $1 - i32.load offset=4 - i32.const 1 - i32.or - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - i32.store offset=20 - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load offset=20 - local.tee $1 - local.get $1 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/set/Set#rehash - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $0 i32.store loop $for-loop|1 - local.get $2 + local.get $1 i32.const 24 i32.shl i32.const 24 @@ -4663,11 +2552,8 @@ i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -4677,17 +2563,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -4698,17 +2578,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -4721,9 +2598,9 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|3 - local.get $2 + local.get $1 i32.const 24 i32.shl i32.const 24 @@ -4731,11 +2608,8 @@ i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -4746,17 +2620,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -4767,17 +2635,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -4790,35 +2655,141 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $10 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $4 + call $~lib/memory/memory.fill + local.get $1 + local.get $5 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $5 + i32.store offset=4 + local.get $1 + local.get $4 i32.store offset=8 + local.get $1 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|0 + local.get $6 + local.get $10 + i32.lt_s + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + local.get $0 + local.get $4 + i32.load8_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $1 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -4830,33 +2801,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -4868,9 +2827,9 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|6 - local.get $1 + local.get $3 i32.const 24 i32.shl i32.const 24 @@ -4878,11 +2837,8 @@ i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -4893,17 +2849,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -4913,17 +2863,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|6 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -4936,9 +2883,9 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|8 - local.get $1 + local.get $3 i32.const 24 i32.shl i32.const 24 @@ -4946,11 +2893,8 @@ i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -4960,17 +2904,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -4981,17 +2919,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -5001,17 +2933,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|8 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -5023,15 +2952,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -5042,22 +2965,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + (func $~lib/util/hash/HASH (param $0 i32) (result i32) local.get $0 - i32.store + i32.const 255 + i32.and + i32.const -1028477379 + i32.mul + i32.const 374761394 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -5065,32 +3009,129 @@ call $~lib/set/Set#find i32.const 0 i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/util/hash/HASH - local.set $3 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load8_u + local.tee $7 + i32.store8 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $8 + i32.const 8 + i32.add + local.set $8 + br $while-continue|0 + end + end + local.get $0 + local.get $6 + call $~lib/set/Set#set:buckets local.get $0 local.get $1 + i32.store offset=4 + local.get $0 local.get $3 + call $~lib/set/Set#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -5100,9 +3141,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -5158,165 +3196,35 @@ i32.const 2 i32.shl i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $2 - i32.const 0 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.store offset=8 - local.get $2 - i32.const 0 - i32.store offset=12 + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $2 + i32.store + end + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i32.const 1073741820 - i32.gt_u + i32.load offset=12 + i32.ge_u if - i32.const 1456 + i32.const 1248 i32.const 1616 - i32.const 58 - i32.const 60 + i32.const 92 + i32.const 42 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - call $~lib/memory/memory.fill - local.get $2 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $2 - local.get $3 - i32.store offset=4 - local.get $2 local.get $0 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store - loop $for-loop|0 - local.get $0 - local.get $4 - i32.gt_s - if - local.get $5 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.get $3 - i32.load8_u - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + i32.load8_u ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -5325,10 +3233,6 @@ local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -5373,25 +3277,25 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5399,27 +3303,21 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|1 - local.get $2 + local.get $1 i32.const 255 i32.and i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -5429,17 +3327,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -5450,17 +3342,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -5473,19 +3362,16 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|3 - local.get $2 + local.get $1 i32.const 255 i32.and i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -5496,79 +3382,176 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 + end + end + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $10 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $4 + call $~lib/memory/memory.fill + local.get $1 + local.get $5 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $5 + i32.store offset=4 + local.get $1 + local.get $4 + i32.store offset=8 + local.get $1 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|0 + local.get $6 + local.get $10 + i32.lt_s + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + local.get $0 + local.get $4 + i32.load8_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $2 + local.get $6 i32.const 1 i32.add - local.set $2 - br $for-loop|3 + local.set $6 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $1 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -5580,33 +3563,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -5618,19 +3589,16 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|6 - local.get $1 + local.get $3 i32.const 255 i32.and i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -5641,17 +3609,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -5661,17 +3623,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|6 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -5684,19 +3643,16 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|8 - local.get $1 + local.get $3 i32.const 255 i32.and i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -5706,17 +3662,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -5727,17 +3677,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -5747,17 +3691,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|8 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -5769,15 +3710,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -5787,23 +3722,89 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $0 + i32.load16_u + local.get $1 + i32.const 65535 + i32.and + i32.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -5811,32 +3812,129 @@ call $~lib/set/Set#find i32.const 0 i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/util/hash/HASH - local.set $3 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load16_s + local.tee $7 + i32.store16 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $8 + i32.const 8 + i32.add + local.set $8 + br $while-continue|0 + end + end + local.get $0 + local.get $6 + call $~lib/set/Set#set:buckets local.get $0 local.get $1 + i32.store offset=4 + local.get $0 local.get $3 + call $~lib/set/Set#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -5846,9 +3944,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -5911,21 +4006,9 @@ local.get $2 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $1 local.get $0 i32.load offset=12 @@ -5949,179 +4032,51 @@ local.tee $3 i32.const 1 call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets + local.get $0 + local.get $3 + i32.store offset=12 + end local.get $0 - local.get $3 - i32.store offset=4 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - local.get $5 - i32.store offset=8 + local.get $1 + i32.const 1 + call $~lib/array/ensureSize local.get $0 - local.get $2 + local.get $1 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i32.load16_s - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.load16_s ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -6130,10 +4085,6 @@ local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -6178,25 +4129,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -6204,17 +4156,14 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|1 - local.get $2 + local.get $1 i32.const 16 i32.shl i32.const 16 @@ -6222,11 +4171,8 @@ i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -6236,17 +4182,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -6257,17 +4197,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -6280,9 +4217,9 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|3 - local.get $2 + local.get $1 i32.const 16 i32.shl i32.const 16 @@ -6290,94 +4227,191 @@ i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $2 - call $~lib/set/Set#has + local.get $2 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + call $~lib/set/Set#add + local.get $2 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 + end + end + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $8 + i32.store offset=8 + local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + if + local.get $10 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + local.get $4 + i32.load16_s + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $2 + local.get $5 i32.const 1 i32.add - local.set $2 - br $for-loop|3 + local.set $5 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $1 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -6389,33 +4423,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -6427,9 +4449,9 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|6 - local.get $1 + local.get $3 i32.const 16 i32.shl i32.const 16 @@ -6437,11 +4459,8 @@ i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -6452,17 +4471,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -6472,17 +4485,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|6 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -6495,9 +4505,9 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|8 - local.get $1 + local.get $3 i32.const 16 i32.shl i32.const 16 @@ -6505,11 +4515,8 @@ i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -6519,17 +4526,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -6540,17 +4541,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -6560,17 +4555,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|8 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -6582,15 +4574,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -6601,22 +4587,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + (func $~lib/util/hash/HASH (param $0 i32) (result i32) local.get $0 - i32.store + i32.const 65535 + i32.and + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 local.get $1 @@ -6624,32 +4631,129 @@ call $~lib/set/Set#find i32.const 0 i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/util/hash/HASH - local.set $3 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 local.get $0 - i32.store + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load16_u + local.tee $7 + i32.store16 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $8 + i32.const 8 + i32.add + local.set $8 + br $while-continue|0 + end + end + local.get $0 + local.get $6 + call $~lib/set/Set#set:buckets local.get $0 local.get $1 + i32.store offset=4 + local.get $0 local.get $3 + call $~lib/set/Set#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -6659,9 +4763,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -6724,164 +4825,30 @@ local.get $2 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 536870910 - i32.gt_u + i32.load offset=12 + i32.ge_u if - i32.const 1456 + i32.const 1248 i32.const 1616 - i32.const 58 - i32.const 60 + i32.const 92 + i32.const 42 call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i32.load16_u - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.load16_u ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -6890,10 +4857,6 @@ local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -6938,25 +4901,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -6964,27 +4928,21 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|1 - local.get $2 + local.get $1 i32.const 65535 i32.and i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -6994,17 +4952,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7015,17 +4967,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -7038,19 +4987,16 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|3 - local.get $2 + local.get $1 i32.const 65535 i32.and i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7061,17 +5007,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7082,17 +5022,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -7105,35 +5042,144 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $7 + i32.const 1 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $8 i32.store offset=8 + local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + if + local.get $10 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + local.get $0 + local.get $4 + i32.load16_u + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $1 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7145,33 +5191,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -7183,19 +5217,16 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|6 - local.get $1 + local.get $3 i32.const 65535 i32.and i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -7206,17 +5237,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -7226,17 +5251,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|6 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -7249,19 +5271,16 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|8 - local.get $1 + local.get $3 i32.const 65535 i32.and i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -7271,17 +5290,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -7292,17 +5305,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -7312,72 +5319,232 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|8 + end + end + local.get $2 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/set/Set#clear + local.get $2 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + local.get $0 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i32.load + i32.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=4 i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load + local.tee $7 + i32.store + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $8 + i32.const 8 i32.add - local.set $1 - br $for-loop|8 + local.set $8 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $6 + call $~lib/set/Set#set:buckets local.get $0 + local.get $1 i32.store offset=4 local.get $0 - call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 + call $~lib/set/Set#set:entries local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - i32.store local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -7385,23 +5552,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -7411,9 +5566,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -7476,21 +5628,9 @@ local.get $2 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $1 local.get $0 i32.load offset=12 @@ -7501,192 +5641,64 @@ i32.lt_s if i32.const 1248 - i32.const 1616 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i32.load - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + i32.const 1616 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -7695,10 +5707,6 @@ local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -7743,25 +5751,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -7769,25 +5778,19 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 - local.get $2 + local.get $1 i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -7797,17 +5800,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7818,17 +5815,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -7841,17 +5835,14 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 + local.get $1 i32.const 100 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7862,17 +5853,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -7883,17 +5868,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -7906,35 +5888,144 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $7 + i32.const 2 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $8 i32.store offset=8 + local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|01 + local.get $5 + local.get $6 + i32.lt_s + if + local.get $10 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + local.get $0 + local.get $4 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|01 + end + end + local.get $1 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7946,33 +6037,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -7984,17 +6063,14 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|3 - local.get $1 + local.get $3 i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -8005,17 +6081,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8025,17 +6095,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -8048,17 +6115,14 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|4 - local.get $1 + local.get $3 i32.const 50 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8068,17 +6132,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -8089,17 +6147,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8109,72 +6161,202 @@ call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 + end + end + local.get $2 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/set/Set#clear + local.get $2 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i32.load + i32.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 + i32.ne + if + local.get $8 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i32.load + local.tee $7 + i32.store + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=4 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $8 + i32.const 8 i32.add - local.set $1 - br $for-loop|4 + local.set $8 + br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $6 + call $~lib/set/Set#set:buckets local.get $0 + local.get $1 i32.store offset=4 local.get $0 - call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 + call $~lib/set/Set#set:entries local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - i32.store local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -8182,23 +6364,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -8208,9 +6378,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -8273,164 +6440,30 @@ local.get $2 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 268435455 - i32.gt_u + i32.load offset=12 + i32.ge_u if - i32.const 1456 + i32.const 1248 i32.const 1616 - i32.const 58 - i32.const 60 + i32.const 92 + i32.const 42 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i32.load - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.load ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 local.get $1 local.get $1 @@ -8439,10 +6472,6 @@ local.tee $1 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -8487,25 +6516,26 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $2 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -8513,25 +6543,19 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 - local.get $2 + local.get $1 i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has if i32.const 0 @@ -8541,17 +6565,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -8562,17 +6580,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -8585,17 +6600,14 @@ unreachable end i32.const 50 - local.set $2 + local.set $1 loop $for-loop|1 - local.get $2 + local.get $1 i32.const 100 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -8606,17 +6618,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 local.get $2 + local.get $1 call $~lib/set/Set#has i32.eqz if @@ -8627,17 +6633,14 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -8650,35 +6653,144 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $1 + i32.const 0 i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 0 + i32.store offset=12 + local.get $6 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $7 + i32.const 2 + i32.shl + local.tee $8 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $8 + call $~lib/memory/memory.fill + local.get $1 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $1 + local.get $4 + i32.store offset=4 + local.get $1 + local.get $8 i32.store offset=8 + local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + loop $for-loop|01 + local.get $5 + local.get $6 + i32.lt_s + if + local.get $10 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + local.get $0 + local.get $4 + i32.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|01 + end + end + local.get $1 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $3 local.get $1 - local.get $2 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -8690,33 +6802,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 + local.get $4 local.get $1 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -8728,17 +6828,14 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|3 - local.get $1 + local.get $3 i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -8749,17 +6846,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8769,17 +6860,14 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 - br $for-loop|3 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.set $3 + br $for-loop|3 + end + end + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -8792,17 +6880,14 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|4 - local.get $1 + local.get $3 i32.const 50 i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8812,17 +6897,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has i32.eqz if @@ -8833,17 +6912,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 + local.get $2 + local.get $3 call $~lib/set/Set#has if i32.const 0 @@ -8853,72 +6926,246 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $2 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/set/Set#clear + local.get $2 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i32) + local.get $0 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $0 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i64.load + i64.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $9 + local.get $0 + i32.load offset=16 + i32.const 4 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 + end + local.get $9 + i32.const 16 + i32.add + local.set $9 + br $while-continue|0 + end + end local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $8 + call $~lib/set/Set#set:buckets local.get $0 + local.get $1 i32.store offset=4 local.get $0 - call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 + call $~lib/set/Set#set:entries local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 local.get $0 - i32.store local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -8926,23 +7173,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -8952,9 +7187,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -9017,218 +7249,78 @@ local.get $2 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $1 local.get $0 i32.load offset=12 i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $3 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i64.load - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $3 + i32.store offset=12 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 + i64.store + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -9237,10 +7329,6 @@ local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -9285,17 +7373,32 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 3 + i32.store offset=4 + local.get $0 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=12 + local.get $0 + i32.const 0 + i32.store offset=16 + local.get $0 + i32.const 0 + i32.store offset=20 ) (func $std/set/testNumeric (local $0 i32) @@ -9303,8 +7406,16 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -9312,24 +7423,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 local.get $1 i64.const 100 i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -9340,16 +7445,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -9368,10 +7467,7 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -9390,10 +7486,7 @@ i64.const 100 i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -9405,16 +7498,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -9433,10 +7520,7 @@ br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -9448,36 +7532,145 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $7 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 3 + i32.shl + local.tee $9 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $9 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $9 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $11 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $3 local.get $0 - i32.store offset=4 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 - local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -9489,33 +7682,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -9533,10 +7714,7 @@ i64.const 50 i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -9548,16 +7726,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -9575,10 +7747,7 @@ br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -9597,10 +7766,7 @@ i64.const 50 i64.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -9611,16 +7777,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -9632,16 +7792,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -9659,65 +7813,196 @@ br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=20 + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/set/Set#clear + local.get $2 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i64.load + i64.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $9 + local.get $0 + i32.load offset=16 + i32.const 4 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + i64.load + local.tee $5 + i64.store + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 + end + local.get $9 + i32.const 16 + i32.add + local.set $9 + br $while-continue|0 + end + end local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $8 + call $~lib/set/Set#set:buckets local.get $0 + local.get $1 i32.store offset=4 local.get $0 - call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 + call $~lib/set/Set#set:entries local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 local.get $0 - i32.store local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -9725,23 +8010,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -9751,9 +8024,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -9773,208 +8043,74 @@ i32.const 1 i32.shl i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - local.get $1 - i64.store - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $2 - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - local.get $1 - local.get $2 - i64.load - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + i32.or + end + call $~lib/set/Set#rehash end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $4 + i32.const 4 + i32.shl + i32.add + local.tee $2 + local.get $1 + i64.store + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $2 + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $2 + i32.store end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 local.get $0 - i32.store offset=4 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i64.load ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -9983,10 +8119,6 @@ local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -10031,17 +8163,10 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) @@ -10049,8 +8174,16 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -10058,24 +8191,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 local.get $1 i64.const 100 i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -10086,16 +8213,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10114,10 +8235,7 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10136,10 +8254,7 @@ i64.const 100 i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10151,16 +8266,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10179,10 +8288,7 @@ br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10195,35 +8301,144 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $7 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $3 + i32.const 0 i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $8 + i32.const 3 + i32.shl + local.tee $9 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $9 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $9 i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $11 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $0 + local.get $4 + i64.load + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $3 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $4 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=16 - local.get $0 - local.get $2 - local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -10235,33 +8450,21 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $3 - local.get $2 local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + local.get $4 i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.ne if @@ -10279,10 +8482,7 @@ i64.const 50 i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10294,16 +8494,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -10321,10 +8515,7 @@ br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -10343,10 +8534,7 @@ i64.const 50 i64.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -10357,16 +8545,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10378,16 +8560,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -10405,10 +8581,7 @@ br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -10420,50 +8593,216 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/set/Set#clear + local.get $2 + i32.load offset=20 + if + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (local $1 i32) + local.get $0 + i32.reinterpret_f32 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + f32.load + f32.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 f32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $9 + local.get $0 + i32.load offset=16 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + f32.load + local.tee $5 + f32.store + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=4 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 8 + i32.add + local.set $2 + end + local.get $9 + i32.const 8 + i32.add + local.set $9 + br $while-continue|0 + end + end local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer + local.get $8 + call $~lib/set/Set#set:buckets local.get $0 + local.get $1 i32.store offset=4 local.get $0 - i32.load offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 f32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/set/Set#set:entries local.get $0 - i32.store + local.get $7 + i32.store offset=12 local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -10471,23 +8810,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -10497,9 +8824,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -10549,227 +8873,44 @@ local.get $0 i32.load local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=4 - local.get $0 - local.get $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $2 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $2 - f32.load - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $2 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $9 - f32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=4 + local.get $0 + local.get $2 + i32.store end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 local.get $0 - i32.store offset=4 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + f32.load ) (func $~lib/set/Set#delete (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -10778,10 +8919,6 @@ local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -10826,17 +8963,10 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) @@ -10844,8 +8974,16 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -10853,24 +8991,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 local.get $1 f32.const 100 f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -10881,16 +9013,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10909,10 +9035,7 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10931,10 +9054,7 @@ f32.const 100 f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10946,16 +9066,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -10974,10 +9088,7 @@ br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -10990,35 +9101,177 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $7 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $3 + i32.const 0 i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 + local.get $8 + i32.const 2 + i32.shl + local.tee $9 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $9 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $9 i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $11 + local.get $6 + i32.const 3 + i32.shl + i32.add + local.tee $4 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + f32.load + local.set $1 + local.get $0 + local.get $3 + i32.load offset=12 + i32.ge_u + if + local.get $0 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + call $~lib/array/ensureSize + local.get $3 + local.get $4 + i32.store offset=12 + end + local.get $3 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $1 + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 + end + end + local.get $3 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $0 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=16 - local.get $0 - local.get $2 - local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -11030,34 +9283,22 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 + local.get $0 local.get $3 - local.get $2 - local.get $4 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -11074,10 +9315,7 @@ f32.const 50 f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11089,16 +9327,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11116,10 +9348,7 @@ br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -11138,10 +9367,7 @@ f32.const 50 f32.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11152,16 +9378,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11173,16 +9393,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11200,10 +9414,7 @@ br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -11215,15 +9426,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -11234,31 +9439,217 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/util/hash/HASH (param $0 f64) (result i32) + (local $1 i32) + (local $2 i64) + local.get $0 + i64.reinterpret_f64 + local.tee $2 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $2 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + local.get $1 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + local.get $1 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + local.get $1 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + f64.load + f64.eq + end + if + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + ) (func $~lib/set/Set#has (param $0 i32) (param $1 f64) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 i32.store global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $9 + local.get $0 + i32.load offset=16 + i32.const 4 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $6 + local.get $9 + i32.ne + if + local.get $9 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + f64.load + local.tee $5 + f64.store + local.get $2 + local.get $8 + local.get $5 + call $~lib/util/hash/HASH + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 + local.get $2 + i32.store + local.get $2 + i32.const 16 + i32.add + local.set $2 + end + local.get $9 + i32.const 16 + i32.add + local.set $9 + br $while-continue|0 + end + end local.get $0 - i32.store + local.get $8 + call $~lib/set/Set#set:buckets local.get $0 local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/set/Set#set:entries + local.get $0 + local.get $7 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -11266,23 +9657,11 @@ (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 - local.get $3 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 call $~lib/set/Set#find i32.eqz if @@ -11292,9 +9671,6 @@ i32.load offset=12 i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $0 i32.load offset=20 @@ -11324,247 +9700,64 @@ local.get $0 i32.load offset=16 local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - local.get $1 - f64.store - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $2 - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $2 - i32.store - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=16 - local.tee $8 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - i32.const 0 - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.store offset=12 - local.get $2 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 58 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $5 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $3 - i32.store offset=4 - local.get $0 - local.get $5 - i32.store offset=8 - local.get $0 - local.get $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.store - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 4 - i32.shl - i32.add - local.tee $2 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $2 - f64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $2 - i32.store offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $9 - f64.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.const 1 + i32.add + i32.store offset=16 + local.get $4 + i32.const 4 + i32.shl + i32.add + local.tee $2 + local.get $1 + f64.store + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $2 + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $2 + i32.store end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 local.get $0 - i32.store offset=4 + i32.load offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 local.get $1 - call $~lib/array/Array#set:length - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + f64.load ) (func $~lib/set/Set#delete (param $0 i32) (param $1 f64) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $1 local.get $1 @@ -11573,10 +9766,6 @@ local.tee $2 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -11621,17 +9810,10 @@ i32.const 0 end if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 local.get $3 call $~lib/set/Set#rehash end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) @@ -11639,8 +9821,16 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -11648,24 +9838,18 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $0 + local.tee $2 i32.store loop $for-loop|0 local.get $1 f64.const 100 f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11676,16 +9860,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11704,10 +9882,7 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 100 i32.ne @@ -11726,10 +9901,7 @@ f64.const 100 f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11741,16 +9913,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11762,58 +9928,197 @@ call $~lib/builtins/abort unreachable end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|1 + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|1 + end + end + local.get $2 + i32.load offset=20 + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $2 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $7 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + i32.const 0 + call $~lib/set/Set#set:buckets + local.get $3 + i32.const 0 + i32.store offset=4 + local.get $3 + i32.const 0 + i32.store offset=8 + local.get $3 + i32.const 0 + i32.store offset=12 + local.get $7 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 58 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 3 + i32.shl + local.tee $9 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 + local.get $9 + call $~lib/memory/memory.fill + local.get $3 + local.get $4 + call $~lib/set/Set#set:buckets + local.get $3 + local.get $4 + i32.store offset=4 + local.get $3 + local.get $9 + i32.store offset=8 + local.get $3 + local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store + loop $for-loop|01 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $11 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $4 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $4 + f64.load + local.set $1 + local.get $0 + local.get $3 + i32.load offset=12 + i32.ge_u + if + local.get $0 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + i32.const 1 + i32.add + local.tee $4 + i32.const 3 + call $~lib/array/ensureSize + local.get $3 + local.get $4 + i32.store offset=12 + end + local.get $3 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $1 + f64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|01 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $3 local.get $0 - i32.load offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + local.tee $0 + i32.store offset=8 loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.load offset=12 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 - local.get $0 local.get $2 - local.get $4 + local.get $3 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -11825,34 +10130,22 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=16 + local.get $0 local.get $3 - local.get $2 - local.get $4 + local.get $5 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $4 + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|2 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.load offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.load offset=20 + local.get $2 + i32.load offset=20 i32.ne if i32.const 0 @@ -11869,10 +10162,7 @@ f64.const 50 f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11884,16 +10174,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11911,10 +10195,7 @@ br $for-loop|3 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -11933,10 +10214,7 @@ f64.const 50 f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11947,16 +10225,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#add - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has i32.eqz @@ -11968,16 +10240,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#delete - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 local.get $1 call $~lib/set/Set#has if @@ -11995,10 +10261,7 @@ br $for-loop|4 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 i32.const 50 i32.ne @@ -12010,15 +10273,9 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 call $~lib/set/Set#clear - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $2 i32.load offset=20 if i32.const 0 @@ -12029,10 +10286,125 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end + unreachable + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + ) + (func $~start + memory.size + i32.const 16 + i32.shl + i32.const 18220 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1168 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1200 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1344 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 1836 + i32.lt_s + if + i32.const 18240 + i32.const 18288 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/set.untouched.wat b/tests/compiler/std/set.untouched.wat index 1800cb0624..89ab5db681 100644 --- a/tests/compiler/std/set.untouched.wat +++ b/tests/compiler/std/set.untouched.wat @@ -2602,6 +2602,15 @@ end i32.const 0 ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2746,6 +2755,95 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/util/hash/HASH + local.set $2 + local.get $0 + local.get $1 + local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store + end + local.get $0 + ) (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 @@ -4150,6 +4248,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4189,6 +4321,73 @@ drop local.get $2 ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 + ) (func $~lib/set/Set#clear (param $0 i32) local.get $0 i32.const 0 @@ -4219,417 +4418,378 @@ i32.const 0 call $~lib/set/Set#set:entriesCount ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $std/set/testNumeric + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - i32.const 0 - drop + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $0 - i32.const 255 - i32.and - local.set $2 - i32.const 1 - local.set $1 + call $~lib/set/Set#constructor + local.tee $0 + i32.store i32.const 0 - i32.const 374761393 - i32.add - local.get $1 - i32.add - local.set $3 - local.get $3 - local.get $2 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $3 local.get $3 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|1 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 50 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 100 + i32.lt_s local.set $4 local.get $4 if - local.get $3 - i32.load offset=4 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/set/Set#has i32.eqz - if (result i32) - local.get $3 - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - else + if i32.const 0 + i32.const 544 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 + local.get $1 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $1 + br $for-loop|3 end end - i32.const 0 - ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store8 - ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + call $~lib/set/Set#values + local.tee $1 i32.store offset=4 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $4 + i32.store offset=8 i32.const 0 - local.get $4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 + local.set $5 + loop $for-loop|4 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=4 - i32.const 1 - i32.and + local.get $0 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load8_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/set/SetEntry#set:key - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 8 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 8 + local.get $4 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $5 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $5 + br $for-loop|4 end end - local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - call $~lib/set/Set#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/set/Set#set:entries - local.get $0 local.get $4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/set/Set#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - local.get $2 - i32.store8 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + call $~lib/set/Set#get:size local.get $0 - local.get $1 + call $~lib/set/Set#get:size + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 + local.set $5 + loop $for-loop|6 + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|6 + end + end local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $2 i32.const 0 - drop - local.get $2 - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + local.set $5 + loop $for-loop|8 + local.get $5 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $8 + local.get $8 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#add + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|8 + end + end local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#clear local.get $0 + call $~lib/set/Set#get:size i32.const 0 - call $~lib/set/Set#set:entriesCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -4638,12 +4798,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -4652,22 +4812,22 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -4677,17 +4837,15 @@ drop i32.const 0 drop - i32.const 2 + i32.const 1 i32.const 4 i32.le_u drop local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 255 + i32.and local.set $2 - i32.const 2 + i32.const 1 local.set $1 i32.const 0 i32.const 374761393 @@ -4736,7 +4894,7 @@ local.get $3 return ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4765,12 +4923,10 @@ i32.eqz if (result i32) local.get $3 - i32.load16_s + i32.load8_u local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 255 + i32.and i32.eq else i32.const 0 @@ -4790,17 +4946,26 @@ end i32.const 0 ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.store16 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store8 + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4878,13 +5043,13 @@ local.get $8 local.set $11 local.get $10 - i32.load16_s + i32.load8_u local.set $12 local.get $11 local.get $12 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -4897,7 +5062,7 @@ local.get $11 local.get $14 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -4915,135 +5080,119 @@ end local.get $0 local.get $3 - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 local.get $1 - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 local.get $5 - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 local.get $4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + call $~lib/util/hash/HASH + local.set $2 local.get $0 - i32.load offset=4 local.get $1 - i32.const 1 - i32.shl - i32.add local.get $2 - i32.store16 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $2 - i32.const 0 - drop - local.get $2 ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries - local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesCount + i32.load offset=20 ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -5052,165 +5201,206 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link + i32.store offset=12 ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 + i32.load offset=4 local.get $1 - i32.store offset=12 + i32.const 0 + i32.shl + i32.add + local.get $2 + i32.store8 + i32.const 0 + drop ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.store offset=16 + local.get $2 + call $~lib/array/Array#__uset ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=20 + i32.const 0 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - i32.const 0 - drop + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 i32.const 0 - drop + i32.shl + i32.add + i32.load8_u + local.set $2 i32.const 0 drop - i32.const 2 - i32.const 4 - i32.le_u - drop + local.get $2 + ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.const 65535 - i32.and - local.set $2 - i32.const 2 - local.set $1 - i32.const 0 - i32.const 374761393 - i32.add local.get $1 - i32.add + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u local.set $3 local.get $3 - local.get $2 - i32.const -1028477379 - i32.mul + i32.const 1 i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + i32.const 4 + local.tee $4 local.get $0 - i32.load - local.get $2 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 + ) + (func $~lib/set/Set#clear (param $0 i32) local.get $0 - i32.load offset=4 - i32.and + i32.const 0 + i32.const 4 i32.const 4 i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=4 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 i32.const 0 - ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries local.get $0 - local.get $1 - i32.store16 - ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + i32.const 4 + call $~lib/set/Set#set:entriesCapacity local.get $0 - local.get $1 - i32.store offset=4 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $std/set/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5218,242 +5408,360 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/set/Set#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u + local.set $3 + local.get $3 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=4 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load16_u - local.set $12 - local.get $11 - local.get $12 - call $~lib/set/SetEntry#set:key - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 8 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 8 + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $1 + br $for-loop|1 end end local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - call $~lib/set/Set#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/set/Set#set:entries - local.get $0 - local.get $4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 50 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 255 + i32.and + i32.const 100 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 + end + end local.get $0 - i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + call $~lib/set/Set#values + local.tee $1 i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $4 i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 + local.set $5 + loop $for-loop|4 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|4 + end + end + local.get $4 + call $~lib/set/Set#get:size local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.eq + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries - local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 + local.set $5 + loop $for-loop|6 + local.get $5 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u + local.set $7 + local.get $7 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|6 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $~lib/set/Set#set:entriesOffset + local.set $5 + loop $for-loop|8 + local.get $5 + i32.const 255 + i32.and + i32.const 50 + i32.lt_u + local.set $8 + local.get $8 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#add + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|8 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + call $~lib/set/Set#clear + local.get $0 + call $~lib/set/Set#get:size i32.const 0 - call $~lib/set/Set#set:entriesCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -5462,12 +5770,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -5476,22 +5784,22 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -5501,13 +5809,17 @@ drop i32.const 0 drop - i32.const 4 + i32.const 2 i32.const 4 i32.le_u drop local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s local.set $2 - i32.const 4 + i32.const 2 local.set $1 i32.const 0 i32.const 374761393 @@ -5556,7 +5868,7 @@ local.get $3 return ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5585,8 +5897,12 @@ i32.eqz if (result i32) local.get $3 - i32.load + i32.load16_s local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.eq else i32.const 0 @@ -5606,17 +5922,26 @@ end i32.const 0 ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.store + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store16 + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5694,13 +6019,13 @@ local.get $8 local.set $11 local.get $10 - i32.load + i32.load16_s local.set $12 local.get $11 local.get $12 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -5713,7 +6038,7 @@ local.get $11 local.get $14 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -5731,79 +6056,202 @@ end local.get $0 local.get $3 - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 local.get $1 - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 local.get $5 - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 local.get $4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + call $~lib/util/hash/HASH + local.set $2 local.get $0 - i32.load offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store + end + local.get $0 + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.const 2 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 1 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 local.get $0 @@ -5820,209 +6268,115 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load + i32.load16_s local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/set/Set#clear (param $0 i32) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 + ) + (func $~lib/set/Set#clear (param $0 i32) local.get $0 i32.const 0 i32.const 4 i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/set/Set#set:entriesCount - ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store + call $~lib/set/Set#set:entriesOffset local.get $0 - local.get $1 i32.const 0 - call $~lib/rt/itcms/__link + call $~lib/set/Set#set:entriesCount ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (func $std/set/testNumeric + (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $0 - local.set $2 - i32.const 4 - local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - local.get $1 - i32.add - local.set $3 - local.get $3 - local.get $2 - i32.const -1028477379 - i32.mul - i32.add - local.set $3 - local.get $3 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -2048144777 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - i32.const -1028477379 - i32.mul - local.set $3 - local.get $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - local.set $3 - local.get $3 - return - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=4 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load - local.get $1 - i32.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6030,242 +6384,368 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/set/Set#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $3 + local.get $3 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=4 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i32.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/set/SetEntry#set:key - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 8 - i32.add - local.set $8 + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 8 + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $1 + br $for-loop|1 end end local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - call $~lib/set/Set#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/set/Set#set:entries - local.get $0 - local.get $4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 50 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 100 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|3 + end + end local.get $0 - i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 - local.get $1 + call $~lib/set/Set#values + local.tee $1 i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $4 i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 + local.set $5 + loop $for-loop|4 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|4 + end + end + local.get $4 + call $~lib/set/Set#get:size local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.eq + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 + local.set $5 + loop $for-loop|6 + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|6 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 4 - i32.const 8 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + local.set $5 + loop $for-loop|8 + local.get $5 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 50 + i32.lt_s + local.set $8 + local.get $8 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#add + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|8 + end + end local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#clear local.get $0 + call $~lib/set/Set#get:size i32.const 0 - call $~lib/set/Set#set:entriesCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -6274,12 +6754,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -6288,104 +6768,89 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i64) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) + (local $3 i32) i32.const 0 drop i32.const 0 drop i32.const 0 drop - i32.const 8 + i32.const 2 i32.const 4 i32.le_u drop - i32.const 8 - i32.const 8 - i32.eq - drop local.get $0 + i32.const 65535 + i32.and + local.set $2 + i32.const 2 local.set $1 i32.const 0 i32.const 374761393 i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 + local.set $3 + local.get $3 local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul i32.add - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 15 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const -2048144777 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 13 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 i32.const -1028477379 i32.mul - local.set $2 - local.get $2 - local.get $2 + local.set $3 + local.get $3 + local.get $3 i32.const 16 i32.shr_u i32.xor - local.set $2 - local.get $2 + local.set $3 + local.get $3 return ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6406,7 +6871,7 @@ local.get $4 if local.get $3 - i32.load offset=8 + i32.load offset=4 local.set $5 local.get $5 i32.const 1 @@ -6414,9 +6879,11 @@ i32.eqz if (result i32) local.get $3 - i64.load + i32.load16_u local.get $1 - i64.eq + i32.const 65535 + i32.and + i32.eq else i32.const 0 end @@ -6435,17 +6902,26 @@ end i32.const 0 ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i64) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i64.store + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store offset=8 + i32.store16 ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6456,7 +6932,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i64) + (local $12 i32) (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer @@ -6488,7 +6964,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $4 - i32.const 16 + i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $5 @@ -6499,7 +6975,7 @@ local.get $6 local.get $0 i32.load offset=16 - i32.const 16 + i32.const 8 i32.mul i32.add local.set $7 @@ -6515,7 +6991,7 @@ local.get $6 local.set $10 local.get $10 - i32.load offset=8 + i32.load offset=4 i32.const 1 i32.and i32.eqz @@ -6523,13 +6999,13 @@ local.get $8 local.set $11 local.get $10 - i64.load + i32.load16_u local.set $12 local.get $11 local.get $12 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -6542,17 +7018,17 @@ local.get $11 local.get $14 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $14 local.get $8 i32.store local.get $8 - i32.const 16 + i32.const 8 i32.add local.set $8 end local.get $6 - i32.const 16 + i32.const 8 i32.add local.set $6 br $while-continue|0 @@ -6560,30 +7036,119 @@ end local.get $0 local.get $3 - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 local.get $1 - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 local.get $5 - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 local.get $4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/util/hash/HASH + local.set $2 + local.get $0 + local.get $1 + local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store + end + local.get $0 + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -6592,48 +7157,82 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 1 i32.shl i32.add local.get $2 - i64.store + i32.store16 i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 1 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $0 local.get $1 - i32.const 3 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 1 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -6649,226 +7248,115 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load + i32.load16_u local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/set/Set#clear (param $0 i32) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext local.get $0 - i32.const 4 + local.get $0 + i32.load offset=20 i32.const 1 i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entriesCount local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + local.tee $4 local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesCount - ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 + (func $~lib/set/Set#clear (param $0 i32) local.get $0 - local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 i64) (result i32) - (local $1 i64) - (local $2 i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 8 i32.const 4 - i32.le_u - drop - i32.const 8 - i32.const 8 - i32.eq - drop + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $0 - local.set $1 i32.const 0 - i32.const 374761393 - i32.add + i32.const 4 i32.const 8 - i32.add - local.set $2 - local.get $2 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - return - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries local.get $0 - i32.load offset=4 - i32.and i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i64.load - local.get $1 - i64.eq - else - i32.const 0 - end - if - local.get $3 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i64) + call $~lib/set/Set#set:entriesCapacity local.get $0 - local.get $1 - i64.store - ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + i32.const 0 + call $~lib/set/Set#set:entriesOffset local.get $0 - local.get $1 - i32.store offset=8 + i32.const 0 + call $~lib/set/Set#set:entriesCount ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $std/set/testNumeric + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6876,242 +7364,360 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/set/Set#constructor + local.tee $0 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 65535 + i32.and + i32.const 100 + i32.lt_u + local.set $3 + local.get $3 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 1 - i32.and + i32.add + local.set $1 + br $for-loop|1 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 50 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 65535 + i32.and + i32.const 100 + i32.lt_u + local.set $4 + local.get $4 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - i64.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/set/SetEntry#set:key - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 + i32.const 0 + i32.const 544 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 i32.const 16 - i32.add - local.set $8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 16 + local.get $1 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $1 + br $for-loop|3 end end local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - call $~lib/set/Set#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/set/Set#set:entries - local.get $0 - local.get $4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/set/Set#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 + call $~lib/set/Set#values + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets + call $~lib/set/Set#constructor + local.tee $4 + i32.store offset=8 + i32.const 0 + local.set $5 + loop $for-loop|4 + local.get $5 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + local.get $5 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|4 + end + end + local.get $4 + call $~lib/set/Set#get:size local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#get:size + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $5 + loop $for-loop|6 + local.get $5 + i32.const 65535 + i32.and + i32.const 50 + i32.lt_u + local.set $7 + local.get $7 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|6 + end + end local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + local.set $5 + loop $for-loop|8 + local.get $5 + i32.const 65535 + i32.and + i32.const 50 + i32.lt_u + local.set $8 + local.get $8 + if + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#add + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $5 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|8 + end + end local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#clear local.get $0 + call $~lib/set/Set#get:size i32.const 0 - call $~lib/set/Set#set:entriesCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -7120,12 +7726,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 @@ -7134,22 +7740,22 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=16 ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=20 ) - (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -7157,25 +7763,24 @@ drop i32.const 0 drop - i32.const 1 + i32.const 0 drop i32.const 4 i32.const 4 - i32.eq + i32.le_u drop local.get $0 - i32.reinterpret_f32 - local.set $1 - i32.const 4 local.set $2 + i32.const 4 + local.set $1 i32.const 0 i32.const 374761393 i32.add - local.get $2 + local.get $1 i32.add local.set $3 local.get $3 - local.get $1 + local.get $2 i32.const -1028477379 i32.mul i32.add @@ -7215,7 +7820,7 @@ local.get $3 return ) - (func $~lib/set/Set#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -7244,9 +7849,9 @@ i32.eqz if (result i32) local.get $3 - f32.load + i32.load local.get $1 - f32.eq + i32.eq else i32.const 0 end @@ -7265,17 +7870,26 @@ end i32.const 0 ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 f32) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - f32.store + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7286,7 +7900,7 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 f32) + (local $12 i32) (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer @@ -7353,13 +7967,13 @@ local.get $8 local.set $11 local.get $10 - f32.load + i32.load local.set $12 local.get $11 local.get $12 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $12 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $1 i32.and local.set $13 @@ -7372,7 +7986,7 @@ local.get $11 local.get $14 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $14 local.get $8 i32.store @@ -7390,30 +8004,119 @@ end local.get $0 local.get $3 - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 local.get $1 - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 local.get $5 - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 local.get $4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $0 local.get $0 i32.load offset=20 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $1 + call $~lib/util/hash/HASH + local.set $2 + local.get $0 + local.get $1 + local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store + end + local.get $0 + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store @@ -7422,22 +8125,22 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=4 ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=8 ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.store offset=12 ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f32) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 i32.load offset=4 local.get $1 @@ -7445,25 +8148,59 @@ i32.shl i32.add local.get $2 - f32.store + i32.store i32.const 0 drop ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 local.get $1 i32.const 2 call $~lib/array/ensureSize local.get $0 local.get $1 - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) - (local $2 f32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -7482,1116 +8219,777 @@ i32.const 2 i32.shl i32.add - f32.load + i32.load local.set $2 i32.const 0 drop local.get $2 ) - (func $~lib/set/Set#clear (param $0 i32) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 + ) + (func $~lib/set/Set#clear (param $0 i32) local.get $0 i32.const 0 i32.const 4 i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets + call $~lib/set/Set#set:buckets local.get $0 i32.const 4 i32.const 1 i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $0 i32.const 0 i32.const 4 i32.const 8 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries + call $~lib/set/Set#set:entries local.get $0 i32.const 4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $0 i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $0 i32.const 0 - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount ) - (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 + (func $std/set/testNumeric + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 i32.store offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=16 - ) - (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=20 - ) - (func $~lib/util/hash/HASH (param $0 f64) (result i32) - (local $1 i64) - (local $2 i32) + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + call $~lib/set/Set#constructor + local.tee $0 + i32.store i32.const 0 - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.eq - drop - i32.const 8 - i32.const 8 - i32.eq - drop - local.get $0 - i64.reinterpret_f64 local.set $1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $2 - local.get $2 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - return - ) - (func $~lib/set/Set#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_s + local.set $2 + local.get $2 if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/set/Set#has i32.eqz - if (result i32) - local.get $3 - f64.load - local.get $1 - f64.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz if - local.get $3 - return + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $5 + local.get $1 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 + i32.add + local.set $1 + br $for-loop|0 end end - i32.const 0 - ) - (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 f64) - local.get $0 - local.get $1 - f64.store - ) - (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 f64) - (local $13 i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 50 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_s + local.set $2 + local.get $2 if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 1 - i32.and + local.get $0 + local.get $1 + call $~lib/set/Set#has i32.eqz if - local.get $8 - local.set $11 - local.get $10 - f64.load - local.set $12 - local.get $11 - local.get $12 - call $~lib/set/SetEntry#set:key - local.get $12 - call $~lib/util/hash/HASH - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 + i32.const 0 + i32.const 544 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + call $~lib/set/Set#add + drop + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 i32.const 16 - i32.add - local.set $8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $6 - i32.const 16 + local.get $1 + i32.const 1 i32.add - local.set $6 - br $while-continue|0 + local.set $1 + br $for-loop|1 end end local.get $0 - local.get $3 - call $~lib/set/Set#set:buckets - local.get $0 - local.get $1 - call $~lib/set/Set#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/set/Set#set:entries - local.get $0 - local.get $4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/set/Set#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#get:size (param $0 i32) (result i32) - local.get $0 - i32.load offset=20 - ) - (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=4 - ) - (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=8 - ) - (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - f64.store - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) - (local $2 f64) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz if - i32.const 224 - i32.const 592 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/set/Set#clear (param $0 i32) - local.get $0 + call $~lib/set/Set#values + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $0 + call $~lib/set/Set#constructor + local.tee $2 + i32.store offset=8 i32.const 0 - i32.const 4 - i32.const 16 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/set/Set#set:entries - local.get $0 - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesOffset + local.set $3 + loop $for-loop|2 + local.get $3 + local.get $1 + call $~lib/array/Array#get:length + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $1 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|2 + end + end + local.get $2 + call $~lib/set/Set#get:size local.get $0 - i32.const 0 - call $~lib/set/Set#set:entriesCount - ) - (func $~lib/rt/itcms/__collect - (local $0 i32) - i32.const 0 - drop - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s + call $~lib/set/Set#get:size + i32.eq + i32.eqz if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|3 + local.get $3 + i32.const 50 + i32.lt_s + local.set $4 + local.get $4 + if local.get $0 + local.get $3 + call $~lib/set/Set#has + i32.eqz if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $3 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|3 end end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 - i32.ne - local.set $0 - local.get $0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|4 + local.get $3 + i32.const 50 + i32.lt_s + local.set $4 + local.get $4 if - call $~lib/rt/itcms/step + local.get $0 + local.get $3 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/set/Set#add drop - br $while-continue|1 + local.get $0 + local.get $3 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $3 + call $~lib/set/Set#delete + drop + local.get $0 + local.get $3 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|4 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - else + local.get $0 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - ) - (func $start:std/set - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 144 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 176 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 320 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $std/set/testNumeric - call $~lib/rt/itcms/__collect - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - i32.const 224 local.get $0 - call $~lib/rt/itcms/__visit - i32.const 432 + call $~lib/set/Set#clear local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 + call $~lib/set/Set#get:size + i32.const 0 + i32.eq + i32.eqz if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - drop - local.get $2 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + i32.store local.get $0 local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit + i32.store offset=4 ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=8 local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - drop - local.get $2 local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/set/Set#__visit + i32.store offset=12 ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=16 ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit + i32.store offset=20 ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 + (local $3 i32) i32.const 0 drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 drop + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + i32.const 4 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add local.get $1 - call $~lib/array/Array#__visit + i32.add + local.set $3 + local.get $3 + local.get $2 + i32.const -1028477379 + i32.mul + i32.add + local.set $3 + local.get $3 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -2048144777 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -1028477379 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + return ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.get $2 local.get $0 - i32.load offset=8 - local.set $2 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=4 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i32.load + local.get $1 + i32.eq + else + i32.const 0 + end + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end + end i32.const 0 - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i32) local.get $0 local.get $1 - call $~lib/array/Array#__visit + i32.store ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - drop - local.get $2 local.get $1 - call $~lib/rt/itcms/__visit + i32.store offset=4 ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) - local.get $0 - i32.load + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 + i32.const 1 + i32.add local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + local.get $4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 local.get $0 i32.load offset=8 - local.set $2 - i32.const 0 - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + local.set $6 + local.get $6 local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + i32.load offset=16 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 + if + local.get $6 + local.set $10 + local.get $10 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + local.get $10 + i32.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/set/SetEntry#set:key + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 8 + i32.add + local.set $8 + end + local.get $6 + i32.const 8 + i32.add + local.set $6 + br $while-continue|0 + end + end local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) + local.get $3 + call $~lib/set/Set#set:buckets local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit + call $~lib/set/Set#set:bucketsMask local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $5 + call $~lib/set/Set#set:entries local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop + local.get $4 + call $~lib/set/Set#set:entriesCapacity local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.get $1 - call $~lib/array/Array#__visit + i32.load offset=20 + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load + (local $3 i32) + (local $4 i32) local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 + call $~lib/util/hash/HASH local.set $2 - i32.const 0 - drop - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) - (local $2 i32) local.get $0 - i32.load local.get $1 - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.set $2 - i32.const 0 - drop local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/array/Array - block $~lib/set/Set - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/set/Set~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - unreachable - ) - (func $~start - call $start:std/set - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 17216 - i32.const 17264 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 - local.get $2 - call $~lib/set/Set#find + call $~lib/set/Set#find local.set $3 local.get $3 i32.eqz @@ -8603,11 +9001,6 @@ i32.eq if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 local.get $0 i32.load offset=20 local.get $0 @@ -8628,7 +9021,7 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end local.get $0 i32.load offset=8 @@ -8638,7 +9031,7 @@ local.tee $4 i32.const 1 i32.add - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $4 i32.const 8 i32.mul @@ -8646,7 +9039,7 @@ local.set $3 local.get $3 local.get $1 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key i32.const 0 drop local.get $0 @@ -8654,7 +9047,7 @@ i32.load offset=20 i32.const 1 i32.add - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $0 i32.load local.get $2 @@ -8668,29 +9061,54 @@ local.get $3 local.get $4 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $4 local.get $3 i32.store end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/set/Set#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 i32.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=12 @@ -8711,155 +9129,73 @@ local.get $1 i32.const 1 i32.add - i32.const 0 + i32.const 2 call $~lib/array/ensureSize local.get $0 local.get $1 i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__uset ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $1 local.get $0 - i32.load offset=8 - local.set $1 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=16 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load8_s - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/util/hash/HASH + call $~lib/set/Set#find local.set $2 local.get $2 i32.eqz if i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end local.get $2 @@ -8867,13 +9203,13 @@ i32.load offset=4 i32.const 1 i32.or - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $0 local.get $0 i32.load offset=20 i32.const 1 i32.sub - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $0 i32.load offset=4 i32.const 1 @@ -8907,35 +9243,49 @@ end if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $3 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount ) - (func $std/set/testNumeric + (func $std/set/testNumeric (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -8943,37 +9293,25 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $0 i32.store i32.const 0 local.set $1 - loop $for-loop|1 + loop $for-loop|0 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 100 - i32.lt_s - local.set $3 - local.get $3 + i32.lt_u + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -8985,22 +9323,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9014,16 +9342,11 @@ i32.const 1 i32.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -9037,25 +9360,16 @@ end i32.const 50 local.set $1 - loop $for-loop|3 + loop $for-loop|1 local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 100 - i32.lt_s - local.set $4 - local.get $4 + i32.lt_u + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9066,22 +9380,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9095,16 +9399,11 @@ i32.const 1 i32.add local.set $1 - br $for-loop|3 + br $for-loop|1 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -9118,49 +9417,29 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#values + call $~lib/set/Set#values local.tee $1 - i32.store offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor - local.tee $4 - i32.store offset=12 + call $~lib/set/Set#constructor + local.tee $2 + i32.store offset=8 i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 + local.set $3 + loop $for-loop|2 + local.get $3 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.lt_s - local.set $6 - local.get $6 + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#has + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9170,43 +9449,23 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + local.get $2 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#add + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add drop - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 - br $for-loop|4 + local.set $3 + br $for-loop|2 end end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + local.get $2 + call $~lib/set/Set#get:size local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -9218,26 +9477,17 @@ unreachable end i32.const 0 - local.set $5 - loop $for-loop|6 - local.get $5 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.set $3 + loop $for-loop|3 + local.get $3 i32.const 50 - i32.lt_s - local.set $7 - local.get $7 + i32.lt_u + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $3 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9248,22 +9498,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $3 + call $~lib/set/Set#delete drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $3 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -9274,20 +9514,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 - br $for-loop|6 + local.set $3 + br $for-loop|3 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -9300,26 +9535,17 @@ unreachable end i32.const 0 - local.set $5 - loop $for-loop|8 - local.get $5 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.set $3 + loop $for-loop|4 + local.get $3 i32.const 50 - i32.lt_s - local.set $8 - local.get $8 + i32.lt_u + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $3 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -9331,22 +9557,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#add + local.get $3 + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $3 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9357,22 +9573,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $3 + call $~lib/set/Set#delete drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $3 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -9383,20 +9589,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $3 i32.const 1 i32.add - local.set $5 - br $for-loop|8 + local.set $3 + br $for-loop|4 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -9409,19 +9610,9 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#clear + call $~lib/set/Set#clear local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -9434,207 +9625,200 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i64) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + i32.const 8 + i32.const 8 + i32.eq + drop local.get $0 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store local.get $2 local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + return ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 + i32.load local.get $2 - call $~lib/set/Set#find + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 if - local.get $0 + local.get $3 + i32.load offset=8 local.set $5 - global.get $~lib/memory/__stack_pointer local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.const 1 + i32.and + i32.eqz if (result i32) - local.get $0 - i32.load offset=4 + local.get $3 + i64.load + local.get $1 + i64.eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 8 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i64) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 0 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + i64.store + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9643,6 +9827,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9651,129 +9840,349 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/set/SetEntry#set:key + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load8_u - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 16 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/set/Set#set:buckets + local.get $0 + local.get $1 + call $~lib/set/Set#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/set/Set#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $2 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 + local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 16 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store + end + local.get $0 + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store - local.get $6 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find local.set $2 local.get $2 i32.eqz if i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end local.get $2 local.get $2 - i32.load offset=4 + i32.load offset=8 i32.const 1 i32.or - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $0 local.get $0 i32.load offset=20 i32.const 1 i32.sub - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $0 i32.load offset=4 i32.const 1 @@ -9807,71 +10216,76 @@ end if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $3 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount + ) + (func $std/set/testNumeric + (local $0 i32) + (local $1 i64) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $0 i32.store - i32.const 0 + i64.const 0 local.set $1 - loop $for-loop|1 + loop $for-loop|0 local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - local.set $3 - local.get $3 + i64.const 100 + i64.lt_s + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -9883,22 +10297,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9909,19 +10313,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -9933,25 +10332,18 @@ call $~lib/builtins/abort unreachable end - i32.const 50 + i64.const 50 local.set $1 - loop $for-loop|3 + loop $for-loop|1 local.get $1 - i32.const 255 - i32.and - i32.const 100 - i32.lt_u - local.set $4 - local.get $4 + i64.const 100 + i64.lt_s + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9962,22 +10354,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9988,19 +10370,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 - br $for-loop|3 + br $for-loop|1 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -10014,49 +10391,29 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 + call $~lib/set/Set#values + local.tee $2 i32.store offset=4 - local.get $9 - call $~lib/set/Set#values - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor - local.tee $4 - i32.store offset=12 + call $~lib/set/Set#constructor + local.tee $3 + i32.store offset=8 i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length + local.set $4 + loop $for-loop|2 + local.get $4 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $6 - local.get $6 + local.set $5 + local.get $5 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#has + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10066,43 +10423,23 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $2 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#add + call $~lib/array/Array#__get + call $~lib/set/Set#add drop - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 - br $for-loop|4 + local.set $4 + br $for-loop|2 end end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + local.get $3 + call $~lib/set/Set#get:size local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -10113,25 +10450,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $5 - loop $for-loop|6 - local.get $5 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - local.set $7 - local.get $7 + i64.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + i64.const 50 + i64.lt_s + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10142,22 +10472,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete - drop + local.get $1 + call $~lib/set/Set#delete + drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10168,20 +10488,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|6 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -10193,25 +10508,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $5 - loop $for-loop|8 - local.get $5 - i32.const 255 - i32.and - i32.const 50 - i32.lt_u - local.set $8 - local.get $8 + i64.const 0 + local.set $1 + loop $for-loop|4 + local.get $1 + i64.const 50 + i64.lt_s + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10223,22 +10531,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#add + local.get $1 + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10249,22 +10547,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#delete drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10275,20 +10563,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|8 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -10301,19 +10584,9 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#clear + call $~lib/set/Set#clear local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -10326,207 +10599,200 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 i64) (result i32) + (local $1 i64) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 8 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + i32.le_u + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + local.set $1 i32.const 0 - i32.store + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $2 + local.get $2 local.get $1 - call $~lib/util/hash/HASH + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 local.get $2 - call $~lib/set/Set#find - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + return + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz if (result i32) - local.get $0 - i32.load offset=4 + local.get $3 + i64.load + local.get $1 + i64.eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/set/Set#rehash + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 8 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) + local.get $0 + local.get $1 local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 i64) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + i64.store + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=8 ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -10535,6 +10801,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10543,152 +10814,372 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + i64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/set/SetEntry#set:key + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load16_s - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 16 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/set/Set#set:buckets + local.get $0 + local.get $1 + call $~lib/set/Set#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/set/Set#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/util/hash/HASH local.set $2 + local.get $0 + local.get $1 local.get $2 + call $~lib/set/Set#find + local.set $3 + local.get $3 i32.eqz if + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 16 + i32.mul + i32.add + local.set $3 + local.get $3 + local.get $1 + call $~lib/set/SetEntry#set:key i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and i32.const 4 + i32.mul i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.set $4 + local.get $3 + local.get $4 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store end - local.get $2 - local.get $2 - i32.load offset=4 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext local.get $0 + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 i64) local.get $0 i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 + local.get $1 + i32.const 3 + i32.shl i32.add - i32.const 4 - local.tee $4 + local.get $2 + i64.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select + i32.load offset=12 i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=12 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $2 + local.get $2 + i32.load offset=8 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -10699,35 +11190,50 @@ end if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $3 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount ) - (func $std/set/testNumeric + (func $std/set/testNumeric (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -10735,37 +11241,25 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $0 i32.store - i32.const 0 + i64.const 0 local.set $1 - loop $for-loop|1 + loop $for-loop|0 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - local.set $3 - local.get $3 + i64.const 100 + i64.lt_u + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10777,22 +11271,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10803,19 +11287,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -10827,27 +11306,18 @@ call $~lib/builtins/abort unreachable end - i32.const 50 + i64.const 50 local.set $1 - loop $for-loop|3 + loop $for-loop|1 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 100 - i32.lt_s - local.set $4 - local.get $4 + i64.const 100 + i64.lt_u + local.set $2 + local.get $2 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10858,22 +11328,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10884,19 +11344,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + i64.const 1 + i64.add local.set $1 - br $for-loop|3 + br $for-loop|1 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -10910,49 +11365,29 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 + call $~lib/set/Set#values + local.tee $2 i32.store offset=4 - local.get $9 - call $~lib/set/Set#values - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor - local.tee $4 - i32.store offset=12 + call $~lib/set/Set#constructor + local.tee $3 + i32.store offset=8 i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length + local.set $4 + loop $for-loop|2 + local.get $4 + local.get $2 + call $~lib/array/Array#get:length i32.lt_s - local.set $6 - local.get $6 + local.set $5 + local.get $5 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#has + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10962,43 +11397,23 @@ call $~lib/builtins/abort unreachable end + local.get $3 + local.get $2 local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#add + call $~lib/array/Array#__get + call $~lib/set/Set#add drop - local.get $5 + local.get $4 i32.const 1 i32.add - local.set $5 - br $for-loop|4 + local.set $4 + br $for-loop|2 end end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + local.get $3 + call $~lib/set/Set#get:size local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -11009,27 +11424,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $5 - loop $for-loop|6 - local.get $5 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $7 - local.get $7 + i64.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + i64.const 50 + i64.lt_u + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -11040,22 +11446,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#delete drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -11066,20 +11462,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|6 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|3 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -11091,27 +11482,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $5 - loop $for-loop|8 - local.get $5 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 50 - i32.lt_s - local.set $8 - local.get $8 + i64.const 0 + local.set $1 + loop $for-loop|4 + local.get $1 + i64.const 50 + i64.lt_u + local.set $4 + local.get $4 if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -11123,22 +11505,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#add + local.get $1 + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -11149,22 +11521,12 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#delete drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -11175,20 +11537,15 @@ call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|8 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|4 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -11201,19 +11558,9 @@ unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#clear + call $~lib/set/Set#clear local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -11226,207 +11573,184 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store - local.get $2 + local.get $0 local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 f32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $0 + i32.reinterpret_f32 + local.set $1 i32.const 4 + local.set $2 + i32.const 0 + i32.const 374761393 i32.add - global.set $~lib/memory/__stack_pointer local.get $2 + i32.add + local.set $3 + local.get $3 + local.get $1 + i32.const -1028477379 + i32.mul + i32.add + local.set $3 + local.get $3 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -2048144777 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + i32.const -1028477379 + i32.mul + local.set $3 + local.get $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.set $3 + local.get $3 + return ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 + i32.load local.get $2 - call $~lib/set/Set#find + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + loop $while-continue|0 + local.get $3 + local.set $4 + local.get $4 if - local.get $0 + local.get $3 + i32.load offset=4 local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.const 1 + i32.and + i32.eqz if (result i32) - local.get $0 - i32.load offset=4 + local.get $3 + f32.load + local.get $1 + f32.eq else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.const 0 end - call $~lib/set/Set#rehash + if + local.get $3 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 8 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + i32.const 0 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/set/Set#has (param $0 i32) (param $1 f32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find i32.const 0 - i32.store + i32.ne + ) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 f32) + local.get $0 local.get $1 + f32.store + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 1 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=4 ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11435,6 +11759,11 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 f32) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11443,1619 +11772,1104 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $2 - call $~lib/array/Array#constructor + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store - i32.const 0 + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 + local.get $4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 + local.get $6 + local.set $10 + local.get $10 i32.load offset=4 i32.const 1 i32.and i32.eqz if + local.get $8 + local.set $11 + local.get $10 + f32.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/set/SetEntry#set:key + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 + local.get $13 + i32.const 4 + i32.mul i32.add - local.set $4 + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $14 local.get $8 - local.get $7 - i32.load16_u - call $~lib/array/Array#__set + i32.store + local.get $8 + i32.const 8 + i32.add + local.set $8 end - local.get $5 - i32.const 1 + local.get $6 + i32.const 8 i32.add - local.set $5 - br $for-loop|0 + local.set $6 + br $while-continue|0 end end + local.get $0 local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 + call $~lib/set/Set#set:buckets + local.get $0 + local.get $1 + call $~lib/set/Set#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/set/Set#set:entries + local.get $0 local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/util/hash/HASH local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=4 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u + local.get $1 + local.get $2 + call $~lib/set/Set#find local.set $3 local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) + i32.eqz + if local.get $0 - i32.load offset=20 + i32.load offset=16 local.get $0 i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 65535 - i32.and - i32.const 100 - i32.lt_u - local.set $3 - local.get $3 + i32.eq if local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#add - drop + i32.load offset=20 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1 + call $~lib/set/Set#rehash end - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 50 - local.set $1 - loop $for-loop|3 + local.get $0 + i32.load offset=8 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + i32.const 8 + i32.mul + i32.add + local.set $3 + local.get $3 local.get $1 - i32.const 65535 + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 i32.and - i32.const 100 - i32.lt_u + i32.const 4 + i32.mul + i32.add local.set $4 + local.get $3 local.get $4 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|3 - end + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $4 + local.get $3 + i32.store end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#get:size (param $0 i32) (result i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#values - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 i32.const 0 - call $~lib/set/Set#constructor - local.tee $4 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store i32.const 0 - local.set $5 - loop $for-loop|4 - local.get $5 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/array/Array#get:length + i32.const 0 i32.lt_s - local.set $6 - local.get $6 if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=16 - local.get $9 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|4 + i32.const 224 + i32.const 592 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.eq - i32.eqz + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 call $~lib/builtins/abort unreachable end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $2 i32.const 0 - local.set $5 - loop $for-loop|6 - local.get $5 - i32.const 65535 - i32.and - i32.const 50 - i32.lt_u - local.set $7 - local.get $7 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|6 - end - end + drop + local.get $2 + ) + (func $~lib/set/Set#delete (param $0 i32) (param $1 f32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $2 + local.get $2 i32.eqz if i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable + return end - i32.const 0 - local.set $5 - loop $for-loop|8 - local.get $5 - i32.const 65535 - i32.and - i32.const 50 - i32.lt_u - local.set $8 - local.get $8 - if - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $2 + local.get $2 + i32.load offset=4 + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $0 + i32.load offset=20 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + i32.const 1 + ) + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 8 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount + ) + (func $std/set/testNumeric + (local $0 i32) + (local $1 f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $0 + i32.store + f32.const 0 + local.set $1 + loop $for-loop|0 + local.get $1 + f32.const 100 + f32.lt + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 39 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#add + local.get $1 + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 i32.const 544 - i32.const 41 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + f32.const 1 + f32.add + local.set $1 + br $for-loop|0 + end + end + local.get $0 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f32.const 50 + local.set $1 + loop $for-loop|1 + local.get $1 + f32.const 100 + f32.lt + local.set $2 + local.get $2 + if + local.get $0 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 14 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#add drop local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $5 - call $~lib/set/Set#has - i32.eqz + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 i32.const 544 - i32.const 43 + i32.const 16 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|8 + local.get $1 + f32.const 1 + f32.add + local.set $1 + br $for-loop|1 end end local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.const 50 + call $~lib/set/Set#get:size + i32.const 100 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 45 + i32.const 18 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/set/Set#clear local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 + call $~lib/set/Set#values + local.tee $2 i32.store offset=4 - local.get $9 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $3 + i32.store offset=8 i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 - local.get $2 - call $~lib/set/Set#find - local.set $3 + local.set $4 + loop $for-loop|2 + local.get $4 + local.get $2 + call $~lib/array/Array#get:length + i32.lt_s + local.set $5 + local.get $5 + if + local.get $0 + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|2 + end + end local.get $3 + call $~lib/set/Set#get:size + local.get $0 + call $~lib/set/Set#get:size + i32.eq i32.eqz if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq + i32.const 0 + i32.const 544 + i32.const 27 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + f32.const 50 + f32.lt + local.set $4 + local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=20 + local.get $1 + call $~lib/set/Set#delete + drop local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $1 + call $~lib/set/Set#has + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 5 + call $~lib/builtins/abort + unreachable end - call $~lib/set/Set#rehash + local.get $1 + f32.const 1 + f32.add + local.set $1 + br $for-loop|3 end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 8 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz if - local.get $1 i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=4 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - i32.const 0 + f32.const 0 local.set $1 - loop $for-loop|0 + loop $for-loop|4 local.get $1 - i32.const 100 - i32.lt_s - local.set $2 - local.get $2 + f32.const 50 + f32.lt + local.set $4 + local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 6 + i32.const 39 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 i32.const 544 - i32.const 8 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 50 - local.set $1 - loop $for-loop|1 - local.get $1 - i32.const 100 - i32.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#delete drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 16 + i32.const 43 i32.const 5 call $~lib/builtins/abort unreachable end local.get $1 - i32.const 1 - i32.add + f32.const 1 + f32.add local.set $1 - br $for-loop|1 + br $for-loop|4 end end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size - i32.const 100 + call $~lib/set/Set#get:size + i32.const 50 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 18 + i32.const 45 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#values - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $2 - i32.store offset=12 - i32.const 0 - local.set $3 - loop $for-loop|2 - local.get $3 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/array/Array#get:length - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=16 - local.get $5 - local.get $3 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=16 - local.get $5 - local.get $3 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|2 - end - end - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#clear local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size + i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 27 + i32.const 49 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#set:buckets (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|3 - local.get $3 - i32.const 50 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|3 - end - end + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (param $0 i32) (param $1 i32) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $1 i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + ) + (func $~lib/set/Set#set:entries (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=16 + ) + (func $~lib/set/Set#set:entriesCount (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=20 + ) + (func $~lib/util/hash/HASH (param $0 f64) (result i32) + (local $1 i64) + (local $2 i32) + i32.const 0 + drop i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $0 + i64.reinterpret_f64 + local.set $1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $2 + local.get $2 + local.get $1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + return + ) + (func $~lib/set/Set#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load local.set $3 - loop $for-loop|4 + loop $while-continue|0 local.get $3 - i32.const 50 - i32.lt_s local.set $4 local.get $4 if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $3 - call $~lib/set/Set#add - drop - local.get $0 + i32.load offset=8 local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 local.get $5 - local.get $3 - call $~lib/set/Set#has + i32.const 1 + i32.and i32.eqz - if + if (result i32) + local.get $3 + f64.load + local.get $1 + f64.eq + else i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has - i32.eqz - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + return end - local.get $3 + local.get $5 i32.const 1 - i32.add + i32.const -1 + i32.xor + i32.and local.set $3 - br $for-loop|4 + br $while-continue|0 end end + i32.const 0 + ) + (func $~lib/set/Set#has (param $0 i32) (param $1 f64) (result i32) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/set/Set#find + i32.const 0 + i32.ne + ) + (func $~lib/set/SetEntry#set:key (param $0 i32) (param $1 f64) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#clear + local.get $1 + f64.store + ) + (func $~lib/set/SetEntry#set:taggedNext (param $0 i32) (param $1 i32) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 f64) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 + i64.const 0 + i64.store + local.get $1 + i32.const 1 + i32.add local.set $2 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.ne - local.set $2 + local.get $4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 + if + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + local.get $10 + f64.load + local.set $12 + local.get $11 + local.get $12 + call $~lib/set/SetEntry#set:key + local.get $12 + call $~lib/util/hash/HASH + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/set/SetEntry#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 16 + i32.add + local.set $8 + end + local.get $6 + i32.const 16 + i32.add + local.set $6 + br $while-continue|0 + end + end + local.get $0 + local.get $3 + call $~lib/set/Set#set:buckets + local.get $0 + local.get $1 + call $~lib/set/Set#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/set/Set#set:entries + local.get $0 + local.get $4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/set/Set#set:entriesOffset global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#add (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $1 - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $2 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 local.get $1 local.get $2 - call $~lib/set/Set#find + call $~lib/set/Set#find local.set $3 local.get $3 i32.eqz @@ -13067,11 +12881,6 @@ i32.eq if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 local.get $0 i32.load offset=20 local.get $0 @@ -13092,7 +12901,7 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end local.get $0 i32.load offset=8 @@ -13102,15 +12911,15 @@ local.tee $4 i32.const 1 i32.add - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $4 - i32.const 8 + i32.const 16 i32.mul i32.add local.set $3 local.get $3 local.get $1 - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key i32.const 0 drop local.get $0 @@ -13118,7 +12927,7 @@ i32.load offset=20 i32.const 1 i32.add - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $0 i32.load local.get $2 @@ -13132,29 +12941,54 @@ local.get $3 local.get $4 i32.load - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $4 local.get $3 i32.store end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 + (func $~lib/set/Set#get:size (param $0 i32) (result i32) + local.get $0 + i32.load offset=20 + ) + (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 i32.store + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=4 + ) + (func $~lib/array/Array#set:byteLength (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=8 + ) + (func $~lib/array/Array#set:length_ (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array#__uset (param $0 i32) (param $1 i32) (param $2 f64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + f64.store + i32.const 0 + drop + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=12 @@ -13175,169 +13009,87 @@ local.get $1 i32.const 1 i32.add - i32.const 2 + i32.const 3 call $~lib/array/ensureSize local.get $0 local.get $1 i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__uset ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array#set:length (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=8 - local.set $1 + local.get $1 + i32.const 3 + call $~lib/array/ensureSize local.get $0 - i32.load offset=16 + local.get $1 + call $~lib/array/Array#set:length_ + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i32.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (result i32) + (func $~lib/set/Set#delete (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/util/hash/HASH + call $~lib/set/Set#find local.set $2 local.get $2 i32.eqz if i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 return end local.get $2 local.get $2 - i32.load offset=4 + i32.load offset=8 i32.const 1 i32.or - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $0 local.get $0 i32.load offset=20 i32.const 1 i32.sub - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $0 i32.load offset=4 i32.const 1 @@ -13371,31 +13123,50 @@ end if local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $3 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#clear (param $0 i32) + local.get $0 + i32.const 0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 16 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entries + local.get $0 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/set/Set#set:entriesCount ) - (func $std/set/testNumeric + (func $std/set/testNumeric (local $0 i32) - (local $1 i32) + (local $1 f64) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -13403,33 +13174,25 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $0 i32.store - i32.const 0 + f64.const 0 local.set $1 loop $for-loop|0 local.get $1 - i32.const 100 - i32.lt_u + f64.const 100 + f64.lt local.set $2 local.get $2 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -13441,22 +13204,12 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13467,19 +13220,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f64.const 1 + f64.add local.set $1 br $for-loop|0 end end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -13491,23 +13239,18 @@ call $~lib/builtins/abort unreachable end - i32.const 50 + f64.const 50 local.set $1 loop $for-loop|1 local.get $1 - i32.const 100 - i32.lt_u + f64.const 100 + f64.lt local.set $2 local.get $2 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13518,22 +13261,12 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 local.get $1 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13544,19 +13277,14 @@ unreachable end local.get $1 - i32.const 1 - i32.add + f64.const 1 + f64.add local.set $1 br $for-loop|1 end end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -13570,49 +13298,29 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 + call $~lib/set/Set#values + local.tee $2 i32.store offset=4 - local.get $5 - call $~lib/set/Set#values - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor - local.tee $2 - i32.store offset=12 + call $~lib/set/Set#constructor + local.tee $3 + i32.store offset=8 i32.const 0 - local.set $3 + local.set $4 loop $for-loop|2 - local.get $3 - local.get $1 + local.get $4 + local.get $2 + call $~lib/array/Array#get:length + i32.lt_s local.set $5 - global.get $~lib/memory/__stack_pointer local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/array/Array#get:length - i32.lt_s - local.set $4 - local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=16 - local.get $5 - local.get $3 - call $~lib/array/Array#__get - call $~lib/set/Set#has + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13622,43 +13330,23 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=16 - local.get $5 local.get $3 - call $~lib/array/Array#__get - call $~lib/set/Set#add + local.get $2 + local.get $4 + call $~lib/array/Array#__get + call $~lib/set/Set#add drop - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 + local.set $4 br $for-loop|2 end end - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + local.get $3 + call $~lib/set/Set#get:size local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -13669,23 +13357,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 + f64.const 0 + local.set $1 loop $for-loop|3 - local.get $3 - i32.const 50 - i32.lt_u + local.get $1 + f64.const 50 + f64.lt local.set $4 local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13696,22 +13379,12 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#delete drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -13722,20 +13395,15 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 1 - i32.add - local.set $3 + local.get $1 + f64.const 1 + f64.add + local.set $1 br $for-loop|3 end end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -13747,23 +13415,18 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 + f64.const 0 + local.set $1 loop $for-loop|4 - local.get $3 - i32.const 50 - i32.lt_u + local.get $1 + f64.const 50 + f64.lt local.set $4 local.get $4 if local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -13775,22 +13438,12 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#add + local.get $1 + call $~lib/set/Set#add drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13801,22 +13454,12 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#delete + local.get $1 + call $~lib/set/Set#delete drop local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - local.get $3 - call $~lib/set/Set#has + local.get $1 + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -13827,20 +13470,15 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 1 - i32.add - local.set $3 + local.get $1 + f64.const 1 + f64.add + local.set $1 br $for-loop|4 end end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -13853,19 +13491,9 @@ unreachable end local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#clear + call $~lib/set/Set#clear local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=4 - local.get $5 - call $~lib/set/Set#get:size + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -13878,3533 +13506,605 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/rt/itcms/__collect + (local $0 i32) i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + drop + global.get $~lib/rt/itcms/state i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 - local.get $2 - call $~lib/set/Set#find - local.set $3 - local.get $3 - i32.eqz + i32.gt_s if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 end - call $~lib/set/Set#rehash end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 16 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 + i32.ne + local.set $0 local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + (func $start:std/set + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 144 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $std/set/testNumeric + call $~lib/rt/itcms/__collect + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 224 local.get $0 - i32.load offset=12 - i32.ge_u + call $~lib/rt/itcms/__visit + i32.const 432 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 if + local.get $2 local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + call $~lib/rt/itcms/__visit end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i64.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (result i32) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - i32.store + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 + i32.const 0 + drop local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $0 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $1 + call $~lib/array/Array#__visit ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i64) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - i64.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i64.const 100 - i64.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|0 - end - end + drop local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 50 - local.set $1 - loop $for-loop|1 - local.get $1 - i64.const 100 - i64.lt_s - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|1 - end - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - local.set $4 - loop $for-loop|2 - local.get $4 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|2 - end - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size + drop local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i64.const 50 - i64.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|3 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - i64.const 50 - i64.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|4 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#clear + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store + i32.const 0 + drop local.get $2 local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/set/Set#add (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 local.get $1 - call $~lib/util/hash/HASH - local.set $2 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 + i32.load local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 + i32.const 0 + drop local.get $2 - call $~lib/set/Set#find - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 16 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store - end + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $1 + call $~lib/set/Set#__visit ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - i32.store - local.get $1 + drop local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__visit ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - i32.load offset=8 - local.set $1 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=16 + i32.load offset=8 local.set $2 - global.get $~lib/memory/__stack_pointer i32.const 0 + drop local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - local.set $4 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + local.set $2 i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - i64.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set#__visit (param $0 i32) (param $1 i32) + (local $2 i32) local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load offset=8 + local.set $2 + i32.const 0 + drop + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $1 + call $~lib/set/Set#__visit ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - i64.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - i64.const 100 - i64.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|0 - end - end + drop local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 50 - local.set $1 - loop $for-loop|1 - local.get $1 - i64.const 100 - i64.lt_u - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 - local.set $4 - loop $for-loop|2 - local.get $4 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|2 - end - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - i64.const 50 - i64.lt_u - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|3 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - i64.const 50 - i64.lt_u - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.const 1 - i64.add - local.set $1 - br $for-loop|4 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#clear - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 - local.get $2 - call $~lib/set/Set#find - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 8 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 8 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - f32.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=4 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 f32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - f32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - f32.const 100 - f32.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 50 - local.set $1 - loop $for-loop|1 - local.get $1 - f32.const 100 - f32.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 - local.set $4 - loop $for-loop|2 - local.get $4 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|2 - end - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - f32.const 50 - f32.lt - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|3 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - f32.const 50 - f32.lt - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.const 1 - f32.add - local.set $1 - br $for-loop|4 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#clear - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/set/Set#add (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - call $~lib/util/hash/HASH - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $1 - local.get $2 - call $~lib/set/Set#find - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load offset=8 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - i32.const 16 - i32.mul - i32.add - local.set $3 - local.get $3 - local.get $1 - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $4 - local.get $3 - local.get $4 - i32.load - call $~lib/set/SetEntry#set:taggedNext - local.get $4 - local.get $3 - i32.store - end - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#values (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=8 - local.set $1 - local.get $0 - i32.load offset=16 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - call $~lib/array/Array#constructor - local.tee $3 - i32.store - i32.const 0 - local.set $4 - i32.const 0 - local.set $5 - loop $for-loop|0 - local.get $5 - local.get $2 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $1 - local.get $5 - i32.const 16 - i32.mul - i32.add - local.set $7 - local.get $7 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - local.tee $8 - i32.const 1 - i32.add - local.set $4 - local.get $8 - local.get $7 - f64.load - call $~lib/array/Array#__set - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - local.get $4 - call $~lib/array/Array#set:length - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/set/Set#delete (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $2 - local.get $2 - i32.load offset=8 - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $3 - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $0 - i32.load offset=20 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $3 - call $~lib/set/Set#rehash - end - i32.const 1 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/set/testNumeric - (local $0 i32) - (local $1 f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $0 - i32.store - f64.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - f64.const 100 - f64.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 50 - local.set $1 - loop $for-loop|1 - local.get $1 - f64.const 100 - f64.lt - local.set $2 - local.get $2 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|1 - end - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#values - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 - local.set $4 - loop $for-loop|2 - local.get $4 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=16 - local.get $6 - local.get $4 - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|2 - end - end - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|3 - local.get $1 - f64.const 50 - f64.lt - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|3 - end - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $1 - loop $for-loop|4 - local.get $1 - f64.const 50 - f64.lt - local.set $4 - local.get $4 - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#add - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/array/Array + block $~lib/set/Set + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/set/Set~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#delete - drop - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - call $~lib/set/Set#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $1 - f64.const 1 - f64.add - local.set $1 - br $for-loop|4 + call $~lib/set/Set~visit + return end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 50 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#clear - local.get $0 - local.set $6 + unreachable + ) + (func $~start + call $start:std/set + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 49 - i32.const 3 + i32.const 17216 + i32.const 17264 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -17578,10 +14278,92 @@ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load8_s + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $9 ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) @@ -17720,6 +14502,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load8_u + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -17857,6 +14721,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load16_s + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -17979,20 +14925,102 @@ call $~lib/array/Array#set:buffer local.get $0 local.get $3 - call $~lib/array/Array#set:dataStart - local.get $0 - local.get $2 - call $~lib/array/Array#set:byteLength - local.get $0 - local.get $1 - call $~lib/array/Array#set:length_ - local.get $0 - local.set $4 + call $~lib/array/Array#set:dataStart + local.get $0 + local.get $2 + call $~lib/array/Array#set:byteLength + local.get $0 + local.get $1 + call $~lib/array/Array#set:length_ + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load16_u + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $9 ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) @@ -18131,6 +15159,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -18268,6 +15378,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i32.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -18400,10 +15592,92 @@ local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $9 ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) @@ -18542,6 +15816,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + i64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -18679,6 +16035,88 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 8 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=4 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + f32.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) (func $~lib/set/Set#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -18816,4 +16254,86 @@ global.set $~lib/memory/__stack_pointer local.get $4 ) + (func $~lib/set/Set#values (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + local.set $1 + local.get $0 + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + call $~lib/array/Array#constructor + local.tee $3 + i32.store + i32.const 0 + local.set $4 + i32.const 0 + local.set $5 + loop $for-loop|0 + local.get $5 + local.get $2 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $1 + local.get $5 + i32.const 16 + i32.mul + i32.add + local.set $7 + local.get $7 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $4 + local.tee $8 + i32.const 1 + i32.add + local.set $4 + local.get $8 + local.get $7 + f64.load + call $~lib/array/Array#__set + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $3 + local.get $4 + call $~lib/array/Array#set:length + local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) ) diff --git a/tests/compiler/std/static-array.optimized.wat b/tests/compiler/std/static-array.optimized.wat index afccdbc042..733aa7c4d2 100644 --- a/tests/compiler/std/static-array.optimized.wat +++ b/tests/compiler/std/static-array.optimized.wat @@ -2195,7 +2195,11 @@ (func $~start call $start:std/static-array ) - (func $~stack_check + (func $start:std/static-array + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2012 i32.lt_s @@ -2207,13 +2211,6 @@ call $~lib/builtins/abort unreachable end - ) - (func $start:std/static-array - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 i32.store @@ -2282,14 +2279,6 @@ global.get $~lib/memory/__stack_pointer i32.const 1088 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 1100 i32.load i32.eqz @@ -2301,18 +2290,11 @@ i32.const 1 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store i32.const 1092 i32.load i32.const 2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 1088 i32.store i32.const 0 @@ -2375,14 +2357,6 @@ global.get $~lib/memory/__stack_pointer i32.const 1184 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 1196 i32.load i32.eqz @@ -2394,18 +2368,11 @@ i32.const 1 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store i32.const 1188 i32.load i64.const 4 i64.store global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 1184 i32.store i32.const 0 @@ -2468,14 +2435,6 @@ global.get $~lib/memory/__stack_pointer i32.const 1264 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 1276 i32.load i32.eqz @@ -2487,18 +2446,11 @@ i32.const 1 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store i32.const 1268 i32.load f32.const 2.5 f32.store global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 1264 i32.store i32.const 0 @@ -2561,14 +2513,6 @@ global.get $~lib/memory/__stack_pointer i32.const 1360 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 1372 i32.load i32.eqz @@ -2580,18 +2524,11 @@ i32.const 1 i32.store end - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store i32.const 1364 i32.load f64.const 2.25 f64.store global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer i32.const 1360 i32.store i32.const 0 diff --git a/tests/compiler/std/static-array.untouched.wat b/tests/compiler/std/static-array.untouched.wat index af9511d13f..779e1c4d95 100644 --- a/tests/compiler/std/static-array.untouched.wat +++ b/tests/compiler/std/static-array.untouched.wat @@ -3851,6 +3851,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 @@ -3898,6 +3932,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 @@ -3945,6 +4013,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 2 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 i32.load offset=12 @@ -3992,6 +4094,40 @@ i32.const 0 drop ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 108 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + call $~lib/array/ensureSize + local.get $0 + local.get $1 + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__uset + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $std/static-array/i @@ -4157,214 +4293,6 @@ unreachable end ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 2 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 108 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - call $~lib/array/ensureSize - local.get $0 - local.get $1 - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $start:std/static-array (local $0 i32) (local $1 i32) diff --git a/tests/compiler/std/staticarray.optimized.wat b/tests/compiler/std/staticarray.optimized.wat index d69bc16bd0..44d0f21c05 100644 --- a/tests/compiler/std/staticarray.optimized.wat +++ b/tests/compiler/std/staticarray.optimized.wat @@ -47,6 +47,51 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 18100)) (export "memory" (memory $0)) (start $~start) + (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1088 + i32.const 1152 + i32.const 113 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + i32.const 1 + i32.le_u + if + i32.const 1088 + i32.const 1152 + i32.const 128 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.store offset=4 + ) (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) local.get $0 local.get $0 @@ -2079,84 +2124,6 @@ unreachable end ) - (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1088 - i32.const 1152 - i32.const 113 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 2 - i32.shr_u - i32.const 1 - i32.le_u - if - i32.const 1088 - i32.const 1152 - i32.const 128 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $start:std/staticarray (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/staticarray.untouched.wat b/tests/compiler/std/staticarray.untouched.wat index 894b3a60b3..7ee6ea9615 100644 --- a/tests/compiler/std/staticarray.untouched.wat +++ b/tests/compiler/std/staticarray.untouched.wat @@ -55,6 +55,31 @@ i32.const 2 i32.shr_u ) + (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 113 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $2 + i32.const 0 + drop + local.get $2 + ) (func $~lib/staticarray/StaticArray#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 local.get $1 @@ -66,6 +91,24 @@ i32.const 0 drop ) + (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 128 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#__uset + ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3935,92 +3978,6 @@ unreachable end ) - (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 64 - i32.const 128 - i32.const 113 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $2 - i32.const 0 - drop - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 64 - i32.const 128 - i32.const 128 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $2 - call $~lib/staticarray/StaticArray#__uset - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $start:std/staticarray (local $0 i32) (local $1 i32) diff --git a/tests/compiler/std/string-casemapping.optimized.wat b/tests/compiler/std/string-casemapping.optimized.wat index c02f51ef46..c4dcd7ccb9 100644 --- a/tests/compiler/std/string-casemapping.optimized.wat +++ b/tests/compiler/std/string-casemapping.optimized.wat @@ -2531,6 +2531,122 @@ call $~lib/memory/memory.copy local.get $3 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/util/string/stagedBinaryLookup (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $0 @@ -2556,6 +2672,69 @@ i32.const 1 i32.and ) + (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.set $3 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const -1 + return + end + i32.const 1 + local.get $3 + local.get $1 + i32.const 1 + i32.add + i32.eq + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.tee $2 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + select + if + local.get $2 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.tee $0 + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + local.get $2 + return + end + local.get $0 + local.get $2 + i32.const 10 + i32.shl + i32.add + i32.const 56613888 + i32.sub + ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $~lib/staticarray/StaticArray @@ -2620,10 +2799,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $2 - i32.store local.get $0 i32.const 20 i32.sub @@ -2637,7 +2812,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 return end global.get $~lib/memory/__stack_pointer @@ -2647,10 +2822,10 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $6 - i32.store offset=4 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1488 - i32.store + i32.store offset=4 i32.const 1484 i32.load i32.const 1 @@ -2661,13 +2836,13 @@ local.get $8 i32.lt_u if - local.get $2 + local.get $0 local.get $7 i32.const 1 i32.shl i32.add i32.load16_u - local.tee $1 + local.tee $2 i32.const 7 i32.shr_u if @@ -2678,14 +2853,14 @@ i32.sub i32.lt_u i32.const 0 - local.get $1 + local.get $2 i32.const 55295 i32.sub i32.const 1025 i32.lt_u select if - local.get $2 + local.get $0 local.get $7 i32.const 1 i32.shl @@ -2704,8 +2879,8 @@ local.get $4 i32.const 1023 i32.and - local.get $1 - local.tee $0 + local.get $2 + local.tee $1 i32.const 1023 i32.and i32.const 10 @@ -2713,7 +2888,7 @@ i32.or i32.const 65536 i32.add - local.tee $1 + local.tee $2 i32.const 131072 i32.ge_u if @@ -2722,7 +2897,7 @@ i32.const 1 i32.shl i32.add - local.get $0 + local.get $1 local.get $4 i32.const 16 i32.shl @@ -2736,7 +2911,7 @@ end end end - local.get $1 + local.get $2 i32.const 9424 i32.sub i32.const 25 @@ -2747,28 +2922,28 @@ i32.const 1 i32.shl i32.add - local.get $1 + local.get $2 i32.const 26 i32.sub i32.store16 else - local.get $1 + local.get $2 i32.const 223 i32.sub i32.const 64056 i32.le_u if (result i32) local.get $3 - local.set $0 + local.set $1 i32.const 0 local.set $9 block $~lib/util/casemap/bsearch|inlined.0 loop $while-continue|1 - local.get $0 + local.get $1 local.get $9 i32.ge_s if - local.get $0 + local.get $1 local.get $9 i32.add i32.const 3 @@ -2781,7 +2956,7 @@ i32.const 1488 i32.add i32.load16_u - local.get $1 + local.get $2 i32.sub local.tee $10 i32.eqz @@ -2798,7 +2973,7 @@ local.get $4 i32.const 4 i32.sub - local.set $0 + local.set $1 end br $while-continue|1 end @@ -2810,32 +2985,32 @@ else i32.const -1 end - local.tee $0 + local.tee $1 i32.const -1 i32.xor if - local.get $0 + local.get $1 i32.const 1 i32.shl i32.const 1488 i32.add - local.tee $1 + local.tee $2 i32.load16_u offset=6 - local.set $0 + local.set $1 local.get $6 local.get $5 i32.const 1 i32.shl i32.add local.tee $4 - local.get $1 + local.get $2 i32.load offset=2 i32.store local.get $4 - local.get $0 + local.get $1 i32.store16 offset=4 local.get $5 - local.get $0 + local.get $1 i32.const 0 i32.ne i32.const 1 @@ -2843,12 +3018,12 @@ i32.add local.set $5 else - local.get $1 + local.get $2 i32.const 1 call $~lib/util/casemap/casemap i32.const 2097151 i32.and - local.tee $0 + local.tee $1 i32.const 65536 i32.lt_u if @@ -2857,7 +3032,7 @@ i32.const 1 i32.shl i32.add - local.get $0 + local.get $1 i32.store16 else local.get $6 @@ -2865,17 +3040,17 @@ i32.const 1 i32.shl i32.add - local.get $0 + local.get $1 i32.const 65536 i32.sub - local.tee $0 + local.tee $1 i32.const 1023 i32.and i32.const 56320 i32.or i32.const 16 i32.shl - local.get $0 + local.get $1 i32.const 10 i32.shr_u i32.const 55296 @@ -2896,8 +3071,8 @@ i32.const 1 i32.shl i32.add - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 97 i32.sub i32.const 26 @@ -2930,11 +3105,26 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 19072 + local.get $0 + select + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2942,153 +3132,84 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 + block $__inlined_func$~lib/string/String#concat local.get $1 i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + if + global.get $~lib/memory/__stack_pointer + i32.const 19072 + i32.store + i32.const 19072 + local.set $1 + end + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store + i32.const 1 + i32.shl + local.tee $4 local.get $2 - local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - i32.ne - br_if $folding-inner0 + i32.const 1 + i32.shl + local.tee $3 + i32.add + local.tee $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1056 + local.set $0 + br $__inlined_func$~lib/string/String#concat + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end + local.get $0 + local.get $2 + local.get $3 + call $~lib/memory/memory.copy + local.get $0 + local.get $3 + i32.add + local.get $1 + local.get $4 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.eqz - return end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 ) - (func $~lib/string/String#toLowerCase (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $start:std/string-casemapping + (local $0 i64) + (local $1 i64) + (local $2 i64) + (local $3 i64) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3096,745 +3217,66 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=24 + memory.size + i32.const 16 + i32.shl + i32.const 35796 i32.sub - i32.load offset=16 i32.const 1 i32.shr_u - local.tee $8 + global.set $~lib/rt/itcms/threshold + i32.const 1200 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1232 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1376 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=8 + i32.const 1056 + call $~lib/string/String#toUpperCase + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=4 + local.get $7 + i32.const 1056 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6896 i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $8 - i32.lt_u - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.tee $1 - i32.const 7 - i32.shr_u - if - block $for-continue|0 - local.get $4 - local.get $8 - i32.const 1 - i32.sub - i32.lt_u - i32.const 0 - local.get $1 - i32.const 55295 - i32.sub - i32.const 1025 - i32.lt_u - select - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.tee $7 - i32.const 56319 - i32.sub - i32.const 1025 - i32.lt_u - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.const 1023 - i32.and - local.get $1 - local.tee $3 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.or - i32.const 65536 - i32.add - local.tee $1 - i32.const 131072 - i32.ge_u - if - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $7 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-continue|0 - end - end - end - local.get $1 - i32.const 304 - i32.eq - if - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.const 50790505 - i32.store - local.get $5 - i32.const 1 - i32.add - local.set $5 - else - local.get $1 - i32.const 931 - i32.eq - if - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.const 962 - i32.const 963 - local.get $8 - i32.const 1 - i32.gt_u - if (result i32) - block $~lib/util/string/isFinalSigma|inlined.0 (result i32) - i32.const 0 - local.set $2 - i32.const 0 - local.get $4 - local.tee $3 - i32.const 30 - i32.sub - local.tee $1 - local.get $1 - i32.const 0 - i32.lt_s - select - local.set $9 - loop $while-continue|1 - local.get $3 - local.get $9 - i32.gt_s - if - i32.const -1 - local.set $1 - block $~lib/util/string/codePointBefore|inlined.0 - local.get $3 - i32.const 0 - i32.le_s - br_if $~lib/util/string/codePointBefore|inlined.0 - local.get $0 - local.get $3 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.tee $7 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - local.get $3 - i32.const 2 - i32.sub - i32.const 0 - i32.ge_s - i32.and - if - local.get $7 - i32.const 1023 - i32.and - local.get $0 - local.get $3 - i32.const 2 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.tee $10 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.add - i32.const 65536 - i32.add - local.set $1 - local.get $10 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - br_if $~lib/util/string/codePointBefore|inlined.0 - end - i32.const 65533 - local.get $7 - local.get $7 - i32.const 63488 - i32.and - i32.const 55296 - i32.eq - select - local.set $1 - end - local.get $1 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6956 - local.get $1 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - local.get $1 - i32.const 127370 - i32.lt_u - if (result i32) - i32.const 9964 - local.get $1 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - br_if $~lib/util/string/isFinalSigma|inlined.0 - drop - i32.const 1 - local.set $2 - end - local.get $3 - local.get $1 - i32.const 65536 - i32.ge_s - i32.const 1 - i32.add - i32.sub - local.set $3 - br $while-continue|1 - end - end - i32.const 0 - local.get $2 - i32.eqz - br_if $~lib/util/string/isFinalSigma|inlined.0 - drop - local.get $4 - i32.const 1 - i32.add - local.tee $3 - i32.const 30 - i32.add - local.tee $1 - local.get $8 - local.get $1 - local.get $8 - i32.lt_s - select - local.set $2 - loop $while-continue|2 - local.get $2 - local.get $3 - i32.gt_s - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.tee $1 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - local.get $8 - local.get $3 - i32.const 1 - i32.add - i32.ne - i32.and - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.tee $7 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - if - local.get $7 - local.get $1 - i32.const 10 - i32.shl - i32.add - i32.const 56613888 - i32.sub - local.set $1 - end - end - local.get $1 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6956 - local.get $1 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if - local.get $1 - i32.const 127370 - i32.lt_u - if (result i32) - i32.const 9964 - local.get $1 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - br $~lib/util/string/isFinalSigma|inlined.0 - end - local.get $3 - local.get $1 - i32.const 65536 - i32.ge_u - i32.const 1 - i32.add - i32.add - local.set $3 - br $while-continue|2 - end - end - i32.const 1 - end - else - i32.const 0 - end - select - i32.store16 - else - local.get $1 - i32.const 9398 - i32.sub - i32.const 25 - i32.le_u - if - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 26 - i32.add - i32.store16 - else - local.get $1 - i32.const 0 - call $~lib/util/casemap/casemap - i32.const 2097151 - i32.and - local.tee $3 - i32.const 65536 - i32.lt_u - if - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.store16 - else - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 65536 - i32.sub - local.tee $3 - i32.const 10 - i32.shr_u - i32.const 55296 - i32.or - local.get $3 - i32.const 1023 - i32.and - i32.const 56320 - i32.or - i32.const 16 - i32.shl - i32.or - i32.store - local.get $5 - i32.const 1 - i32.add - local.set $5 - end - end - end - end - end - else - local.get $6 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i32.const 65 - i32.sub - i32.const 26 - i32.lt_u - i32.const 5 - i32.shl - i32.or - i32.store16 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $5 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.set $3 - local.get $1 - local.get $2 - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - return - end - block $folding-inner0 - i32.const 1 - local.get $3 - local.get $1 - i32.const 1 - i32.add - i32.eq - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.tee $2 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - select - br_if $folding-inner0 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.tee $0 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.const 10 - i32.shl - i32.add - i32.const 56613888 - i32.sub - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 19072 - local.get $0 - select - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 19072 - i32.store - i32.const 19072 - local.set $1 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/string/String#concat - local.get $2 - i32.const 1 - i32.shl - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $4 - i32.add - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1056 - local.set $2 - br $__inlined_func$~lib/string/String#concat - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $4 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $start:std/string-casemapping - (local $0 i64) - (local $1 i64) - (local $2 i64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=24 - memory.size - i32.const 16 - i32.shl - i32.const 35796 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1200 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1232 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1376 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - i32.const 1056 - call $~lib/string/String#toUpperCase - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - local.get $7 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6896 - i32.const 8 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - i32.const 1056 - call $~lib/string/String#toLowerCase - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 + i32.const 1056 + i32.store offset=8 + i32.const 1056 + call $~lib/string/String#toLowerCase + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 i32.store offset=4 local.get $7 i32.const 1056 @@ -5780,31 +5222,19 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $5 call $~lib/string/String#toLowerCase local.tee $7 i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $5 call $~lib/string/String#toUpperCase local.tee $5 i32.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store local.get $7 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store local.get $7 i32.const 1 call $~lib/string/String#codePointAt @@ -5820,9 +5250,6 @@ i64.add local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store local.get $7 i32.const 2 call $~lib/string/String#codePointAt @@ -5838,17 +5265,11 @@ i64.add local.set $0 end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store local.get $5 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store local.get $5 i32.const 1 call $~lib/string/String#codePointAt @@ -5864,9 +5285,6 @@ i64.add local.set $3 end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store local.get $5 i32.const 2 call $~lib/string/String#codePointAt @@ -5962,135 +5380,621 @@ i32.const 18592 i32.const 1 local.get $6 - f64.convert_i32_s - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 18688 - i32.store offset=4 - local.get $0 - call $~lib/util/number/itoa64 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - i32.const 18688 - local.get $7 - call $~lib/string/String.__concat - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 19104 - i32.store offset=4 - local.get $2 - call $~lib/util/number/itoa64 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - i32.const 19104 - local.get $7 - call $~lib/string/String.__concat - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - end - local.get $1 - local.get $3 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 19168 - i32.store - i32.const 19168 + f64.convert_i32_s + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 18688 + i32.store offset=4 + local.get $0 + call $~lib/util/number/itoa64 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + i32.const 18688 + local.get $7 + call $~lib/string/String.__concat + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 19104 + i32.store offset=4 + local.get $2 + call $~lib/util/number/itoa64 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + i32.const 19104 + local.get $7 + call $~lib/string/String.__concat + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + end + local.get $1 + local.get $3 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 19168 + i32.store + i32.const 19168 + i32.const 1 + local.get $6 + f64.convert_i32_s + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 19264 + i32.store offset=4 + local.get $3 + call $~lib/util/number/itoa64 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + i32.const 19264 + local.get $7 + call $~lib/string/String.__concat + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 19328 + i32.store offset=4 + local.get $1 + call $~lib/util/number/itoa64 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + i32.const 19328 + local.get $7 + call $~lib/string/String.__concat + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#toLowerCase (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $8 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + loop $for-loop|0 + local.get $4 + local.get $8 + i32.lt_u + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.tee $1 + i32.const 7 + i32.shr_u + if + block $for-continue|0 + local.get $4 + local.get $8 + i32.const 1 + i32.sub + i32.lt_u + i32.const 0 + local.get $1 + i32.const 55295 + i32.sub + i32.const 1025 + i32.lt_u + select + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.tee $7 + i32.const 56319 + i32.sub + i32.const 1025 + i32.lt_u + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.const 1023 + i32.and + local.get $1 + local.tee $3 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.or + i32.const 65536 + i32.add + local.tee $1 + i32.const 131072 + i32.ge_u + if + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $7 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-continue|0 + end + end + end + local.get $1 + i32.const 304 + i32.eq + if + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.const 50790505 + i32.store + local.get $5 + i32.const 1 + i32.add + local.set $5 + else + local.get $1 + i32.const 931 + i32.eq + if + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.const 962 + i32.const 963 + local.get $8 + i32.const 1 + i32.gt_u + if (result i32) + block $~lib/util/string/isFinalSigma|inlined.0 (result i32) + i32.const 0 + local.set $2 + i32.const 0 + local.get $4 + local.tee $3 + i32.const 30 + i32.sub + local.tee $1 + local.get $1 + i32.const 0 + i32.lt_s + select + local.set $9 + loop $while-continue|1 + local.get $3 + local.get $9 + i32.gt_s + if + i32.const -1 + local.set $1 + block $~lib/util/string/codePointBefore|inlined.0 + local.get $3 + i32.const 0 + i32.le_s + br_if $~lib/util/string/codePointBefore|inlined.0 + local.get $0 + local.get $3 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.tee $7 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + local.get $3 + i32.const 2 + i32.sub + i32.const 0 + i32.ge_s + i32.and + if + local.get $7 + i32.const 1023 + i32.and + local.get $0 + local.get $3 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.tee $10 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.add + i32.const 65536 + i32.add + local.set $1 + local.get $10 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + br_if $~lib/util/string/codePointBefore|inlined.0 + end + i32.const 65533 + local.get $7 + local.get $7 + i32.const 63488 + i32.and + i32.const 55296 + i32.eq + select + local.set $1 + end + local.get $1 + i32.const 918000 + i32.lt_u + if (result i32) + i32.const 6956 + local.get $1 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + local.get $1 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9964 + local.get $1 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + br_if $~lib/util/string/isFinalSigma|inlined.0 + drop + i32.const 1 + local.set $2 + end + local.get $3 + local.get $1 + i32.const 65536 + i32.ge_s + i32.const 1 + i32.add + i32.sub + local.set $3 + br $while-continue|1 + end + end + i32.const 0 + local.get $2 + i32.eqz + br_if $~lib/util/string/isFinalSigma|inlined.0 + drop + local.get $4 + i32.const 1 + i32.add + local.tee $3 + i32.const 30 + i32.add + local.tee $1 + local.get $8 + local.get $1 + local.get $8 + i32.lt_s + select + local.set $2 + loop $while-continue|2 + local.get $2 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.tee $1 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + local.get $8 + local.get $3 + i32.const 1 + i32.add + i32.ne + i32.and + if + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.tee $7 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $7 + local.get $1 + i32.const 10 + i32.shl + i32.add + i32.const 56613888 + i32.sub + local.set $1 + end + end + local.get $1 + i32.const 918000 + i32.lt_u + if (result i32) + i32.const 6956 + local.get $1 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + if + local.get $1 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9964 + local.get $1 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + br $~lib/util/string/isFinalSigma|inlined.0 + end + local.get $3 + local.get $1 + i32.const 65536 + i32.ge_u + i32.const 1 + i32.add + i32.add + local.set $3 + br $while-continue|2 + end + end + i32.const 1 + end + else + i32.const 0 + end + select + i32.store16 + else + local.get $1 + i32.const 9398 + i32.sub + i32.const 25 + i32.le_u + if + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 26 + i32.add + i32.store16 + else + local.get $1 + i32.const 0 + call $~lib/util/casemap/casemap + i32.const 2097151 + i32.and + local.tee $3 + i32.const 65536 + i32.lt_u + if + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 + else + local.get $6 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 65536 + i32.sub + local.tee $3 + i32.const 10 + i32.shr_u + i32.const 55296 + i32.or + local.get $3 + i32.const 1023 + i32.and + i32.const 56320 + i32.or + i32.const 16 + i32.shl + i32.or + i32.store + local.get $5 + i32.const 1 + i32.add + local.set $5 + end + end + end + end + end + else + local.get $6 + local.get $5 i32.const 1 - local.get $6 - f64.convert_i32_s - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 19264 - i32.store offset=4 - local.get $3 - call $~lib/util/number/itoa64 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - i32.const 19264 - local.get $7 - call $~lib/string/String.__concat - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 19328 - i32.store offset=4 + i32.shl + i32.add local.get $1 - call $~lib/util/number/itoa64 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=8 - i32.const 19328 - local.get $7 - call $~lib/string/String.__concat - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + local.get $1 + i32.const 65 + i32.sub + i32.const 26 + i32.lt_u + i32.const 5 + i32.shl + i32.or + i32.store16 end - local.get $6 + local.get $4 i32.const 1 i32.add - local.set $6 + local.set $4 + local.get $5 + i32.const 1 + i32.add + local.set $5 br $for-loop|0 end end + local.get $6 + local.get $5 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/std/string-casemapping.untouched.wat b/tests/compiler/std/string-casemapping.untouched.wat index 1d0a7b2513..73c5c4179c 100644 --- a/tests/compiler/std/string-casemapping.untouched.wat +++ b/tests/compiler/std/string-casemapping.untouched.wat @@ -4144,6 +4144,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/util/string/stagedBinaryLookup (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $0 @@ -4169,6 +4211,73 @@ i32.const 1 i32.and ) + (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const -1 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $3 + local.get $3 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1 + i32.add + local.get $2 + i32.eq + end + if + local.get $3 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.set $4 + local.get $4 + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + local.get $3 + return + end + local.get $3 + i32.const 55296 + i32.sub + i32.const 10 + i32.shl + local.get $4 + i32.const 56320 + i32.sub + i32.add + i32.const 65536 + i32.add + ) (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) local.get $0 i32.const 100000 @@ -4874,11 +4983,6 @@ i64.const 0 i64.store local.get $0 - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store - local.get $17 call $~lib/string/String#get:length local.set $1 local.get $1 @@ -4902,14 +5006,14 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=4 + i32.store global.get $~lib/util/casemap/SPECIALS_UPPER local.set $3 global.get $~lib/util/casemap/SPECIALS_UPPER local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store + i32.store offset=4 local.get $17 call $~lib/staticarray/StaticArray#get:length local.set $4 @@ -5240,973 +5344,99 @@ global.set $~lib/memory/__stack_pointer local.get $17 ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end + i32.const 19760 local.get $0 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 + select + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 + local.get $1 + call $~lib/string/String#concat + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 ) - (func $~lib/string/String#toLowerCase (param $0 i32) (result i32) + (func $start:std/string-casemapping + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i64) + (local $9 i64) + (local $10 i64) (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $19 global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store - local.get $19 - call $~lib/string/String#get:length - local.set $1 - local.get $1 - i32.eqz - if - local.get $0 - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - end + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - i32.mul - i32.const 2 - i32.mul + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=24 + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - i32.const 0 - local.set $3 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_u - local.set $5 - local.get $5 - if - block $for-continue|0 - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $6 - local.get $6 - local.set $7 - local.get $7 - i32.const 7 - i32.shr_u - i32.eqz - if - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - block $~lib/util/string/toLower8|inlined.0 (result i32) - local.get $6 - local.set $7 - i32.const 0 - i32.const 0 - i32.gt_s - drop - i32.const 6060 - local.get $7 - i32.add - i32.load8_u - br $~lib/util/string/toLower8|inlined.0 - end - i32.store16 - else - local.get $6 - i32.const 55295 - i32.sub - i32.const 56320 - i32.const 55295 - i32.sub - i32.lt_u - if (result i32) - local.get $4 - local.get $1 - i32.const 1 - i32.sub - i32.lt_u - else - i32.const 0 - end - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.set $7 - local.get $7 - i32.const 56319 - i32.sub - i32.const 57344 - i32.const 56319 - i32.sub - i32.lt_u - if - local.get $6 - local.set $8 - local.get $6 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - local.get $7 - i32.const 1023 - i32.and - i32.or - i32.const 65536 - i32.add - local.set $6 - local.get $4 - i32.const 1 - i32.add - local.set $4 - local.get $6 - i32.const 131072 - i32.ge_u - if - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $7 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-continue|0 - end - end - end - local.get $6 - i32.const 304 - i32.eq - if - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 775 - i32.const 16 - i32.shl - i32.const 105 - i32.or - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - else - local.get $6 - i32.const 931 - i32.eq - if - i32.const 963 - local.set $7 - local.get $1 - i32.const 1 - i32.gt_u - if (result i32) - block $~lib/util/string/isFinalSigma|inlined.0 (result i32) - local.get $0 - local.set $10 - local.get $4 - local.set $9 - local.get $1 - local.set $8 - i32.const 0 - local.set $11 - local.get $9 - local.set $12 - i32.const 0 - local.tee $13 - local.get $12 - i32.const 30 - i32.sub - local.tee $14 - local.get $13 - local.get $14 - i32.gt_s - select - local.set $13 - loop $while-continue|1 - local.get $12 - local.get $13 - i32.gt_s - local.set $14 - local.get $14 - if - block $~lib/util/string/codePointBefore|inlined.0 (result i32) - local.get $10 - local.set $16 - local.get $12 - local.set $15 - local.get $15 - i32.const 0 - i32.le_s - if - i32.const -1 - br $~lib/util/string/codePointBefore|inlined.0 - end - local.get $16 - local.get $15 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $17 - local.get $17 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - local.get $15 - i32.const 2 - i32.sub - i32.const 0 - i32.ge_s - i32.and - if - local.get $16 - local.get $15 - i32.const 2 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $18 - local.get $18 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - if - local.get $18 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - local.get $17 - i32.const 1023 - i32.and - i32.add - i32.const 65536 - i32.add - br $~lib/util/string/codePointBefore|inlined.0 - end - end - local.get $17 - i32.const 63488 - i32.and - i32.const 55296 - i32.eq - if (result i32) - i32.const 65533 - else - local.get $17 - end - end - local.set $17 - local.get $17 - local.set $18 - local.get $18 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6188 - local.get $18 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if - local.get $17 - local.set $15 - local.get $15 - i32.const 127370 - i32.lt_u - if (result i32) - i32.const 9196 - local.get $15 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - if - i32.const 1 - local.set $11 - else - i32.const 0 - br $~lib/util/string/isFinalSigma|inlined.0 - end - end - local.get $12 - local.get $17 - i32.const 65536 - i32.ge_s - i32.const 1 - i32.add - i32.sub - local.set $12 - br $while-continue|1 - end - end - local.get $11 - i32.eqz - if - i32.const 0 - br $~lib/util/string/isFinalSigma|inlined.0 - end - local.get $9 - i32.const 1 - i32.add - local.set $12 - local.get $12 - i32.const 30 - i32.add - local.tee $16 - local.get $8 - local.tee $14 - local.get $16 - local.get $14 - i32.lt_s - select - local.set $16 - loop $while-continue|2 - local.get $12 - local.get $16 - i32.lt_s - local.set $14 - local.get $14 - if - local.get $10 - local.get $12 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $15 - local.get $15 - i32.const 64512 - i32.and - i32.const 55296 - i32.eq - local.get $12 - i32.const 1 - i32.add - local.get $8 - i32.ne - i32.and - if - local.get $10 - local.get $12 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.set $18 - local.get $18 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - if - local.get $15 - i32.const 55296 - i32.sub - i32.const 10 - i32.shl - local.get $18 - i32.const 56320 - i32.sub - i32.add - i32.const 65536 - i32.add - local.set $15 - end - end - local.get $15 - local.set $18 - local.get $18 - i32.const 918000 - i32.lt_u - if (result i32) - i32.const 6188 - local.get $18 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - if - local.get $15 - local.set $18 - local.get $18 - i32.const 127370 - i32.lt_u - if (result i32) - i32.const 9196 - local.get $18 - call $~lib/util/string/stagedBinaryLookup - else - i32.const 0 - end - i32.eqz - br $~lib/util/string/isFinalSigma|inlined.0 - end - local.get $12 - local.get $15 - i32.const 65536 - i32.ge_u - i32.const 1 - i32.add - i32.add - local.set $12 - br $while-continue|2 - end - end - i32.const 1 - end - else - i32.const 0 - end - if - i32.const 962 - local.set $7 - end - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.store16 - else - local.get $6 - i32.const 9398 - i32.sub - i32.const 9423 - i32.const 9398 - i32.sub - i32.le_u - if - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.const 26 - i32.add - i32.store16 - else - local.get $6 - i32.const 0 - call $~lib/util/casemap/casemap - i32.const 2097151 - i32.and - local.set $7 - local.get $7 - i32.const 65536 - i32.lt_s - if - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.store16 - else - local.get $7 - i32.const 65536 - i32.sub - local.set $7 - local.get $7 - i32.const 10 - i32.shr_u - i32.const 55296 - i32.or - local.set $16 - local.get $7 - i32.const 1023 - i32.and - i32.const 56320 - i32.or - local.set $13 - local.get $2 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $16 - local.get $13 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - end - end - end - end - end - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.get $3 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - ) - (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - local.get $2 - i32.ge_u - if - i32.const -1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $3 - local.get $3 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1 - i32.add - local.get $2 - i32.eq - end - if - local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.set $4 - local.get $4 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - if - local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 - i32.const 55296 - i32.sub - i32.const 10 - i32.shl - local.get $4 - i32.const 56320 - i32.sub - i32.add - i32.const 65536 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 19760 - local.tee $1 - i32.store - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 - local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.eq - if - i32.const 32 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $2 - call $~lib/memory/memory.copy - local.get $5 - local.get $2 - i32.add - local.get $1 - local.get $3 - call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.const 19760 - local.get $0 - i32.const 0 - i32.ne - select - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String#concat - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $start:std/string-casemapping - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=24 - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 176 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 208 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 352 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - i32.const 32 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/string/String#toUpperCase - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - i32.const 32 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 176 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 208 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 352 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 32 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store offset=8 + local.get $11 + call $~lib/string/String#toUpperCase + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store + local.get $11 + i32.const 32 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 i32.store offset=4 local.get $11 call $~lib/string/String.__eq @@ -8495,40 +7725,20 @@ i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 call $~lib/string/String#toLowerCase local.tee $3 i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 call $~lib/string/String#toUpperCase local.tee $4 i32.store offset=24 local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s local.set $7 local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s @@ -8544,11 +7754,6 @@ local.set $7 end local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s @@ -8564,21 +7769,11 @@ local.set $7 end local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 call $~lib/string/String#codePointAt i64.extend_i32_s local.set $8 local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 1 call $~lib/string/String#codePointAt i64.extend_i32_s @@ -8594,11 +7789,6 @@ local.set $8 end local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 2 call $~lib/string/String#codePointAt i64.extend_i32_s @@ -8829,17 +8019,594 @@ f64.const 0 call $~lib/builtins/trace end - local.get $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#toLowerCase (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $1 + local.get $1 + i32.eqz + if + local.get $0 + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 2 + i32.mul + i32.const 2 + i32.mul + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + i32.const 0 + local.set $3 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_u + local.set $5 + local.get $5 + if + block $for-continue|0 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $6 + local.get $6 + local.set $7 + local.get $7 + i32.const 7 + i32.shr_u + i32.eqz + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + block $~lib/util/string/toLower8|inlined.0 (result i32) + local.get $6 + local.set $7 + i32.const 0 + i32.const 0 + i32.gt_s + drop + i32.const 6060 + local.get $7 + i32.add + i32.load8_u + br $~lib/util/string/toLower8|inlined.0 + end + i32.store16 + else + local.get $6 + i32.const 55295 + i32.sub + i32.const 56320 + i32.const 55295 + i32.sub + i32.lt_u + if (result i32) + local.get $4 + local.get $1 + i32.const 1 + i32.sub + i32.lt_u + else + i32.const 0 + end + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.set $7 + local.get $7 + i32.const 56319 + i32.sub + i32.const 57344 + i32.const 56319 + i32.sub + i32.lt_u + if + local.get $6 + local.set $8 + local.get $6 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + local.get $7 + i32.const 1023 + i32.and + i32.or + i32.const 65536 + i32.add + local.set $6 + local.get $4 + i32.const 1 + i32.add + local.set $4 + local.get $6 + i32.const 131072 + i32.ge_u + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $8 + local.get $7 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-continue|0 + end + end + end + local.get $6 + i32.const 304 + i32.eq + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 775 + i32.const 16 + i32.shl + i32.const 105 + i32.or + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + else + local.get $6 + i32.const 931 + i32.eq + if + i32.const 963 + local.set $7 + local.get $1 + i32.const 1 + i32.gt_u + if (result i32) + block $~lib/util/string/isFinalSigma|inlined.0 (result i32) + local.get $0 + local.set $10 + local.get $4 + local.set $9 + local.get $1 + local.set $8 + i32.const 0 + local.set $11 + local.get $9 + local.set $12 + i32.const 0 + local.tee $13 + local.get $12 + i32.const 30 + i32.sub + local.tee $14 + local.get $13 + local.get $14 + i32.gt_s + select + local.set $13 + loop $while-continue|1 + local.get $12 + local.get $13 + i32.gt_s + local.set $14 + local.get $14 + if + block $~lib/util/string/codePointBefore|inlined.0 (result i32) + local.get $10 + local.set $16 + local.get $12 + local.set $15 + local.get $15 + i32.const 0 + i32.le_s + if + i32.const -1 + br $~lib/util/string/codePointBefore|inlined.0 + end + local.get $16 + local.get $15 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $17 + local.get $17 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + local.get $15 + i32.const 2 + i32.sub + i32.const 0 + i32.ge_s + i32.and + if + local.get $16 + local.get $15 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $18 + local.get $18 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + if + local.get $18 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + local.get $17 + i32.const 1023 + i32.and + i32.add + i32.const 65536 + i32.add + br $~lib/util/string/codePointBefore|inlined.0 + end + end + local.get $17 + i32.const 63488 + i32.and + i32.const 55296 + i32.eq + if (result i32) + i32.const 65533 + else + local.get $17 + end + end + local.set $17 + local.get $17 + local.set $18 + local.get $18 + i32.const 918000 + i32.lt_u + if (result i32) + i32.const 6188 + local.get $18 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + if + local.get $17 + local.set $15 + local.get $15 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9196 + local.get $15 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + if + i32.const 1 + local.set $11 + else + i32.const 0 + br $~lib/util/string/isFinalSigma|inlined.0 + end + end + local.get $12 + local.get $17 + i32.const 65536 + i32.ge_s + i32.const 1 + i32.add + i32.sub + local.set $12 + br $while-continue|1 + end + end + local.get $11 + i32.eqz + if + i32.const 0 + br $~lib/util/string/isFinalSigma|inlined.0 + end + local.get $9 + i32.const 1 + i32.add + local.set $12 + local.get $12 + i32.const 30 + i32.add + local.tee $16 + local.get $8 + local.tee $14 + local.get $16 + local.get $14 + i32.lt_s + select + local.set $16 + loop $while-continue|2 + local.get $12 + local.get $16 + i32.lt_s + local.set $14 + local.get $14 + if + local.get $10 + local.get $12 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $15 + local.get $15 + i32.const 64512 + i32.and + i32.const 55296 + i32.eq + local.get $12 + i32.const 1 + i32.add + local.get $8 + i32.ne + i32.and + if + local.get $10 + local.get $12 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.set $18 + local.get $18 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $15 + i32.const 55296 + i32.sub + i32.const 10 + i32.shl + local.get $18 + i32.const 56320 + i32.sub + i32.add + i32.const 65536 + i32.add + local.set $15 + end + end + local.get $15 + local.set $18 + local.get $18 + i32.const 918000 + i32.lt_u + if (result i32) + i32.const 6188 + local.get $18 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + if + local.get $15 + local.set $18 + local.get $18 + i32.const 127370 + i32.lt_u + if (result i32) + i32.const 9196 + local.get $18 + call $~lib/util/string/stagedBinaryLookup + else + i32.const 0 + end + i32.eqz + br $~lib/util/string/isFinalSigma|inlined.0 + end + local.get $12 + local.get $15 + i32.const 65536 + i32.ge_u + i32.const 1 + i32.add + i32.add + local.set $12 + br $while-continue|2 + end + end + i32.const 1 + end + else + i32.const 0 + end + if + i32.const 962 + local.set $7 + end + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $7 + i32.store16 + else + local.get $6 + i32.const 9398 + i32.sub + i32.const 9423 + i32.const 9398 + i32.sub + i32.le_u + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.const 26 + i32.add + i32.store16 + else + local.get $6 + i32.const 0 + call $~lib/util/casemap/casemap + i32.const 2097151 + i32.and + local.set $7 + local.get $7 + i32.const 65536 + i32.lt_s + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $7 + i32.store16 + else + local.get $7 + i32.const 65536 + i32.sub + local.set $7 + local.get $7 + i32.const 10 + i32.shr_u + i32.const 55296 + i32.or + local.set $16 + local.get $7 + i32.const 1023 + i32.and + i32.const 56320 + i32.or + local.set $13 + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $16 + local.get $13 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + end + end + end + end + end + end + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 + local.get $3 + i32.const 1 + i32.add + local.set $3 br $for-loop|0 end end + local.get $2 + local.get $3 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $19 ) (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) (local $1 i32) @@ -9123,4 +8890,78 @@ global.set $~lib/memory/__stack_pointer local.get $10 ) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 19760 + local.tee $1 + i32.store + end + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $2 + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $2 + local.get $3 + i32.add + local.set $4 + local.get $4 + i32.const 0 + i32.eq + if + i32.const 32 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 + local.get $0 + local.get $2 + call $~lib/memory/memory.copy + local.get $5 + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/memory/memory.copy + local.get $5 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) ) diff --git a/tests/compiler/std/string-encoding.optimized.wat b/tests/compiler/std/string-encoding.optimized.wat index 4cb455648e..7ae6b6fbae 100644 --- a/tests/compiler/std/string-encoding.optimized.wat +++ b/tests/compiler/std/string-encoding.optimized.wat @@ -4,8 +4,8 @@ (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_i32 (func (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -1921,6 +1921,122 @@ end end ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/string/String.UTF8.byteLength (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -2186,6 +2302,15 @@ i32.store8 end ) + (func $~lib/string/String.UTF8.decode (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.get $1 + call $~lib/string/String.UTF8.decodeUnsafe + ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView @@ -2228,48 +2353,6 @@ unreachable end ) - (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $std/string-encoding/testUTF16Encode (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2288,9 +2371,6 @@ call $~lib/string/String.UTF16.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 20 i32.sub @@ -2450,262 +2530,93 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF16.decode (param $0 i32) (result i32) + (func $std/string-encoding/testUTF16DecodeUnsafe + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1056 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 1056 + call $~lib/string/String.UTF16.encode + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1056 i32.store + i32.const 1052 + i32.load + local.set $2 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1552 + i32.store offset=8 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 42 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=8 + local.get $0 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 43 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 1584 + i32.store offset=8 local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $std/string-encoding/testUTF16DecodeUnsafe - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1052 - i32.load - local.set $2 - local.get $1 - i32.const 0 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1552 - i32.store offset=8 - local.get $0 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $2 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 - local.get $0 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1584 - i32.store offset=8 - local.get $0 - i32.const 1584 - call $~lib/string/String.__eq - i32.eqz + i32.const 1584 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 @@ -2815,46 +2726,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF8.encode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - call $~lib/string/String.UTF8.byteLength - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $2 - local.get $1 - call $~lib/string/String.UTF8.encodeUnsafe - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $std/string-encoding/testUTF8Encode (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2874,9 +2745,6 @@ call $~lib/string/String.UTF8.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 20 i32.sub @@ -3035,9 +2903,6 @@ call $~lib/string/String.UTF8.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.const 20 i32.sub @@ -3187,34 +3052,10 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF8.decode (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.get $1 - call $~lib/string/String.UTF8.decodeUnsafe - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $std/string-encoding/testUTF8DecodeNullTerminated (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3228,8 +3069,8 @@ i64.const 0 i64.store offset=16 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 + i32.const 0 + i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store @@ -3239,9 +3080,6 @@ call $~lib/string/String.UTF8.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode @@ -3266,10 +3104,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1760 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store + i32.store offset=12 i32.const 1760 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -3285,16 +3120,10 @@ end global.get $~lib/memory/__stack_pointer i32.const 1760 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1760 i32.const 1 call $~lib/string/String.UTF8.encode local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.store offset=16 local.get $0 i32.const 20 i32.sub @@ -3311,10 +3140,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1808 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store + i32.store offset=20 i32.const 1808 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -3328,9 +3154,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode @@ -3338,9 +3161,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=8 local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -3355,16 +3175,10 @@ end global.get $~lib/memory/__stack_pointer i32.const 1760 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1760 i32.const 0 call $~lib/string/String.UTF8.encode local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 + i32.store offset=24 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode @@ -3372,9 +3186,6 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=8 local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -3388,7 +3199,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3649,9 +3460,8 @@ ) (func $std/string-encoding/testLarge (param $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3659,35 +3469,22 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 i32.const 0 call $~lib/string/String.UTF8.encode local.tee $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store offset=8 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/string/String.__eq i32.eqz @@ -3700,27 +3497,22 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/string/String.UTF16.encode + local.tee $1 + i32.store offset=8 local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/string/String.UTF16.encode - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - local.get $0 - call $~lib/string/String.UTF16.decode - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 20 + i32.sub + i32.load offset=16 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 - local.get $0 + i32.store offset=4 local.get $1 + local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3732,7 +3524,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3792,7 +3584,7 @@ global.set $~lib/rt/itcms/fromSpace call $std/string-encoding/testUTF16Encode global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3800,8 +3592,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store @@ -3810,11 +3602,12 @@ call $~lib/string/String.UTF16.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=12 local.get $0 - call $~lib/string/String.UTF16.decode + i32.const 20 + i32.sub + i32.load offset=16 + call $~lib/string/String.UTF16.decodeUnsafe local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3835,7 +3628,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF16DecodeUnsafe @@ -3886,7 +3679,7 @@ call $std/string-encoding/testUTF8Encode call $std/string-encoding/testUTF8EncodeNullTerminated global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3894,8 +3687,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store @@ -3905,9 +3698,6 @@ call $~lib/string/String.UTF8.encode local.tee $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 local.get $0 i32.const 0 call $~lib/string/String.UTF8.decode @@ -3931,7 +3721,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF8DecodeNullTerminated @@ -3984,6 +3774,42 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $~lib/string/String.UTF16.decodeUnsafe (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer @@ -4013,6 +3839,40 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/string/String.UTF8.encode (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/string/String.UTF8.byteLength + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $2 + local.get $1 + call $~lib/string/String.UTF8.encodeUnsafe + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/string/String.UTF8.decodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) diff --git a/tests/compiler/std/string-encoding.untouched.wat b/tests/compiler/std/string-encoding.untouched.wat index 6a893ba8f7..59da06e60d 100644 --- a/tests/compiler/std/string-encoding.untouched.wat +++ b/tests/compiler/std/string-encoding.untouched.wat @@ -3652,6 +3652,12 @@ i32.sub i32.load offset=16 ) + (func $~lib/string/String.UTF16.decode (param $0 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + call $~lib/string/String.UTF16.decodeUnsafe + ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -3759,6 +3765,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/string/String.UTF8.byteLength (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -4124,6 +4172,13 @@ call $~lib/memory/memory.copy local.get $3 ) + (func $~lib/string/String.UTF8.decode (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.get $1 + call $~lib/string/String.UTF8.decodeUnsafe + ) (func $~lib/rt/itcms/__collect (local $0 i32) i32.const 0 @@ -4277,48 +4332,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/string/String.UTF16.byteLength - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $0 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/string/String#get:length - local.get $1 - call $~lib/string/String.UTF16.encodeUnsafe - drop - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $std/string-encoding/testUTF16Encode (local $0 i32) (local $1 i32) @@ -4344,11 +4357,6 @@ local.get $0 local.set $1 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 12 i32.eq @@ -4522,132 +4530,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF16.decode (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $std/string-encoding/testUTF16Decode (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -4655,8 +4542,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 @@ -4668,11 +4555,6 @@ local.tee $0 i32.store offset=4 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 call $~lib/string/String.UTF16.decode local.set $1 global.get $~lib/memory/__stack_pointer @@ -4696,7 +4578,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4970,50 +4852,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF8.encode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - call $~lib/string/String.UTF8.byteLength - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $0 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.get $2 - local.get $1 - call $~lib/string/String.UTF8.encodeUnsafe - drop - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $std/string-encoding/testUTF8Encode (local $0 i32) (local $1 i32) @@ -5040,11 +4878,6 @@ local.get $0 local.set $1 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 10 i32.eq @@ -5218,11 +5051,6 @@ local.get $0 local.set $1 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 11 i32.eq @@ -5383,38 +5211,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF8.decode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.get $1 - call $~lib/string/String.UTF8.decodeUnsafe - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $std/string-encoding/testUTF8Decode (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5422,8 +5223,8 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 @@ -5436,11 +5237,6 @@ local.tee $0 i32.store offset=4 local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.set $1 @@ -5465,7 +5261,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5477,7 +5273,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5491,8 +5287,8 @@ i64.const 0 i64.store offset=16 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 + i32.const 0 + i32.store offset=24 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $5 @@ -5505,11 +5301,6 @@ local.tee $0 i32.store offset=4 local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -5536,13 +5327,8 @@ global.get $~lib/memory/__stack_pointer i32.const 736 local.tee $1 - i32.store offset=16 + i32.store offset=12 local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -5558,21 +5344,11 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 i32.const 1 call $~lib/string/String.UTF8.encode local.tee $2 - i32.store offset=20 + i32.store offset=16 local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.eq @@ -5588,13 +5364,8 @@ global.get $~lib/memory/__stack_pointer i32.const 784 local.tee $3 - i32.store offset=24 + i32.store offset=20 local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -5609,11 +5380,6 @@ unreachable end local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -5622,11 +5388,6 @@ i32.store local.get $5 local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 call $~lib/string/String.__eq i32.eqz if @@ -5639,21 +5400,11 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 i32.const 0 call $~lib/string/String.UTF8.encode local.tee $4 - i32.store offset=28 + i32.store offset=24 local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=12 - local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -5662,11 +5413,6 @@ i32.store local.get $5 local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store offset=8 - local.get $5 call $~lib/string/String.__eq i32.eqz if @@ -5678,7 +5424,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5967,7 +5713,7 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5975,41 +5721,23 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 i32.const 0 call $~lib/string/String.UTF8.encode local.tee $1 - i32.store offset=4 + i32.store local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $3 i32.const 0 call $~lib/string/String.UTF8.decode local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store + i32.store offset=4 local.get $3 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -6022,32 +5750,17 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 call $~lib/string/String.UTF16.encode local.tee $2 - i32.store offset=16 + i32.store offset=8 local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=12 - local.get $3 call $~lib/string/String.UTF16.decode local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store + i32.store offset=4 local.get $3 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -6059,7 +5772,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -6120,6 +5833,38 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/string/String.UTF16.byteLength + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $1 + call $~lib/string/String.UTF16.encodeUnsafe + drop + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $~lib/string/String.UTF16.decodeUnsafe (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -6154,6 +5899,40 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $~lib/string/String.UTF8.encode (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + call $~lib/string/String.UTF8.byteLength + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $2 + local.get $1 + call $~lib/string/String.UTF8.encodeUnsafe + drop + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) (func $~lib/string/String.UTF8.decodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) diff --git a/tests/compiler/std/string.optimized.wat b/tests/compiler/std/string.optimized.wat index 7a441742bd..4a1ae36372 100644 --- a/tests/compiler/std/string.optimized.wat +++ b/tests/compiler/std/string.optimized.wat @@ -11,13 +11,13 @@ (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) (type $i64_=>_i32 (func (param i64) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i64_i32_i64_i32_i64_i32_=>_i32 (func (param i64 i32 i64 i32 i64 i32) (result i32))) (type $none_=>_i64 (func (result i64))) + (type $i32_=>_f64 (func (param i32) (result f64))) + (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) @@ -1020,6 +1020,49 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) local.get $0 local.get $0 @@ -2718,6 +2761,60 @@ call $~lib/memory/memory.fill local.get $1 ) + (func $~lib/string/String#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1264 + i32.const 1328 + i32.const 54 + i32.const 31 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $2 + ) + (func $~lib/string/String.__not (param $0 i32) (result i32) + local.get $0 + if (result i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.eqz + else + i32.const 1 + end + ) (func $~lib/string/String.fromCharCode@varargs (param $0 i32) (result i32) (local $1 i32) block $1of1 @@ -2976,6 +3073,74 @@ end end ) + (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.eqz + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.eqz + if + i32.const -1 + return + end + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + local.set $2 + local.get $3 + local.get $4 + i32.sub + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.le_s + if + local.get $0 + local.get $2 + local.get $1 + local.get $4 + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $2 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + ) (func $~lib/memory/memory.repeat (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) local.get $2 @@ -3001,5530 +3166,3359 @@ end end ) - (func $~lib/util/string/isSpace (param $0 i32) (result i32) - local.get $0 - i32.const 5760 - i32.lt_u + (func $~lib/string/String#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.eqz if local.get $0 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $0 - i32.const 9 + i32.const 20 i32.sub - i32.const 4 - i32.le_u - i32.or - return - end - local.get $0 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - if + i32.load offset=16 i32.const 1 + i32.shr_u return end local.get $0 - i32.const 5760 - i32.eq - local.get $0 - i32.const 8232 - i32.eq - i32.or - local.get $0 - i32.const 8233 - i32.eq - local.get $0 - i32.const 8239 - i32.eq - i32.or - i32.or - local.get $0 - i32.const 8287 - i32.eq - local.get $0 - i32.const 12288 - i32.eq - i32.or - local.get $0 - i32.const 65279 - i32.eq - i32.or - i32.or + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.set $5 + local.get $3 + i32.eqz if - i32.const 1 + i32.const -1 return end + local.get $2 i32.const 0 - ) - (func $~lib/math/ipow32 (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - i32.const 5 - local.set $1 - i32.const 1 - local.set $2 - loop $while-continue|0 - local.get $0 - if - local.get $1 - local.get $2 - i32.mul - local.get $2 - local.get $0 - i32.const 1 - i32.and - select - local.set $2 - local.get $0 - i32.const 1 - i32.shr_u - local.set $0 - local.get $1 - local.get $1 - i32.mul - local.set $1 - br $while-continue|0 - end - end local.get $2 - ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) - local.get $1 - i32.const 1023 + i32.const 0 i32.gt_s - if (result f64) - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - local.set $0 - local.get $1 - i32.const 1023 - i32.sub - local.tee $1 - i32.const 1023 - i32.gt_s - if (result f64) - local.get $1 - i32.const 1023 - i32.sub - local.tee $1 - i32.const 1023 - local.get $1 - i32.const 1023 - i32.lt_s - select - local.set $1 - local.get $0 - f64.const 8988465674311579538646525e283 - f64.mul - else - local.get $0 - end - else - local.get $1 - i32.const -1022 - i32.lt_s - if (result f64) + select + local.tee $2 + local.get $5 + local.get $4 + i32.sub + local.tee $3 + local.get $2 + local.get $3 + i32.lt_s + select + local.set $2 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s + if local.get $0 - f64.const 2.004168360008973e-292 - f64.mul - local.set $0 + local.get $2 local.get $1 - i32.const 969 - i32.add - local.tee $1 - i32.const -1022 - i32.lt_s - if (result f64) - local.get $1 - i32.const 969 - i32.add - local.tee $1 - i32.const -1022 - local.get $1 - i32.const -1022 - i32.gt_s - select - local.set $1 - local.get $0 - f64.const 2.004168360008973e-292 - f64.mul - else - local.get $0 + local.get $4 + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $2 + return end - else - local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $for-loop|0 end end - local.get $1 - i64.extend_i32_s - i64.const 1023 - i64.add - i64.const 52 - i64.shl - f64.reinterpret_i64 - f64.mul + i32.const -1 ) - (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#localeCompare (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $1 local.get $0 + local.get $1 + i32.eq + if + i32.const 0 + return + end + local.get $1 i32.const 20 i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u local.tee $2 - i32.load - i32.const -4 - i32.and - i32.const 16 + local.get $0 + i32.const 20 i32.sub - i32.le_u + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.ne if + i32.const 1 + i32.const -1 local.get $2 - local.get $1 - i32.store offset=16 - local.get $0 + local.get $3 + i32.lt_s + select return end - local.get $1 local.get $2 - i32.load offset=12 - call $~lib/rt/itcms/__new - local.tee $3 + i32.eqz + if + i32.const 0 + return + end local.get $0 + i32.const 0 local.get $1 local.get $2 - i32.load offset=16 - local.tee $0 - local.get $0 - local.get $1 - i32.gt_u - select - call $~lib/memory/memory.copy - local.get $3 + call $~lib/util/string/compareImpl ) - (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load offset=12 - local.tee $6 - i32.const 1 - i32.add - local.tee $3 - local.set $2 - local.get $3 + (func $~lib/util/string/isSpace (param $0 i32) (result i32) local.get $0 - i32.load offset=8 - local.tee $4 - i32.const 2 - i32.shr_u - i32.gt_u + i32.const 5760 + i32.lt_u if - local.get $2 - i32.const 268435455 - i32.gt_u - if - i32.const 13648 - i32.const 15248 - i32.const 14 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $4 local.get $0 - i32.load - local.tee $7 - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - call $~lib/rt/itcms/__renew - local.tee $2 - i32.add - local.get $5 - local.get $4 - i32.sub - call $~lib/memory/memory.fill - local.get $2 - local.get $7 - i32.ne - if - local.get $0 - local.get $2 - i32.store - local.get $0 - local.get $2 - i32.store offset=4 - local.get $0 - local.get $2 - i32.const 0 - call $~lib/rt/itcms/__link - end + i32.const 128 + i32.or + i32.const 160 + i32.eq local.get $0 - local.get $5 - i32.store offset=8 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + return end local.get $0 - i32.load offset=4 - local.get $6 - i32.const 2 - i32.shl + i32.const -8192 i32.add - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - i32.store offset=12 - ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) - local.get $0 i32.const 10 - i32.ge_u - i32.const 1 - i32.add - local.get $0 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add + i32.le_u + if + i32.const 1 + return + end local.get $0 - i32.const 1000 - i32.ge_u - i32.add + i32.const 5760 + i32.eq local.get $0 - i32.const 100 - i32.lt_u - select + i32.const 8232 + i32.eq + i32.or local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add + i32.const 8233 + i32.eq local.get $0 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add + i32.const 8239 + i32.eq + i32.or + i32.or local.get $0 - i32.const 100000000 - i32.ge_u - i32.add + i32.const 8287 + i32.eq local.get $0 - i32.const 10000000 - i32.lt_u - select + i32.const 12288 + i32.eq + i32.or local.get $0 - i32.const 100000 - i32.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 + i32.const 65279 + i32.eq + i32.or + i32.or + if i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store16 - local.get $1 - i32.const 10 - i32.div_u - local.tee $1 - br_if $do-continue|0 + return end + i32.const 0 ) - (func $~lib/util/number/utoa_hex_simple (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) (local $3 i32) - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 15 - i32.and - i32.const 48 - i32.or - local.tee $3 - i32.const 39 - i32.const 0 - local.get $3 - i32.const 57 - i32.gt_u - select - i32.add - i32.store16 - local.get $1 - i32.const 4 - i32.shr_u - local.tee $1 - br_if $do-continue|0 - end - ) - (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) - (local $2 i64) - (local $3 i64) - local.get $1 - i32.popcnt + (local $4 f64) + (local $5 f64) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 - i32.eq + i32.shr_u + local.tee $3 + i32.eqz if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $1 - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add + f64.const nan:0x8000000000000 return end - local.get $1 - i64.extend_i32_s - local.tee $3 + local.get $0 + i32.load16_u local.set $2 - i32.const 1 - local.set $1 loop $while-continue|0 - local.get $0 local.get $2 - i64.ge_u + call $~lib/util/string/isSpace if local.get $0 - local.get $2 - i64.div_u - local.set $0 - local.get $2 - local.get $2 - i64.mul + i32.const 2 + i32.add + local.tee $0 + i32.load16_u local.set $2 - local.get $1 + local.get $3 i32.const 1 - i32.shl - local.set $1 + i32.sub + local.set $3 br $while-continue|0 end end - loop $while-continue|1 - local.get $0 - i64.const 1 - i64.ge_u + f64.const 1 + local.set $4 + i32.const 1 + local.get $2 + i32.const 43 + i32.eq + local.get $2 + i32.const 45 + i32.eq + select + if + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.eqz if - local.get $0 - local.get $3 - i64.div_u - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|1 + f64.const nan:0x8000000000000 + return end + f64.const -1 + f64.const 1 + local.get $2 + i32.const 45 + i32.eq + select + local.set $4 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u + local.set $2 end local.get $1 - i32.const 1 - i32.sub - ) - (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) - (local $4 i64) - (local $5 i64) - local.get $3 - i64.extend_i32_s - local.set $4 - local.get $3 - local.get $3 - i32.const 1 - i32.sub - i32.and if - loop $do-continue|1 - local.get $0 + i32.const 1 + local.get $1 + i32.const 36 + i32.gt_s + local.get $1 + i32.const 2 + i32.lt_s + select + if + f64.const nan:0x8000000000000 + return + end + local.get $1 + i32.const 16 + i32.eq + if local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i64.div_u - local.tee $1 - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.const 15824 - i32.add - i32.load16_u - i32.store16 - local.get $1 - i64.const 0 - i64.ne - br_if $do-continue|1 + i32.const 48 + i32.eq + i32.const 0 + local.get $3 + i32.const 2 + i32.gt_s + select + if (result i32) + local.get $0 + i32.load16_u offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $3 + i32.const 2 + i32.sub + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.set $0 + end end else local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $5 - local.get $4 - i64.const 1 - i64.sub - local.set $4 - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub + i32.const 2 + i32.gt_s + i32.const 0 + local.get $2 + i32.const 48 + i32.eq + select + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $0 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.tee $2 + i32.const 98 + i32.ne + if + local.get $2 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $2 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $3 + i32.const 2 + i32.sub + local.set $3 + i32.const 2 + local.set $1 + br $break|1 + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $3 + i32.const 2 + i32.sub + local.set $3 + i32.const 8 + local.set $1 + br $break|1 + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $3 + i32.const 2 + i32.sub + local.set $3 + i32.const 16 + local.set $1 + end + end + local.get $1 + i32.const 10 + local.get $1 + select + local.set $1 + end + loop $while-continue|2 + block $while-break|2 + local.get $3 local.tee $2 i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $4 - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.const 15824 + i32.sub + local.set $3 + local.get $2 + if + local.get $1 + local.get $0 + i32.load16_u + local.tee $2 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) + local.get $2 + i32.const 48 + i32.sub + else + local.get $2 + i32.const 55 + i32.sub + local.get $2 + i32.const 87 + i32.sub + local.get $2 + local.get $2 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u + select + local.get $2 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + select + end + local.tee $2 + i32.le_u + if + local.get $5 + i64.reinterpret_f64 + i64.const 1 + i64.shl + i64.const 2 + i64.sub + i64.const -9007199254740994 + i64.gt_u + if + f64.const nan:0x8000000000000 + return + end + br $while-break|2 + end + local.get $5 + local.get $1 + f64.convert_i32_s + f64.mul + local.get $2 + f64.convert_i32_u + f64.add + local.set $5 + local.get $0 + i32.const 2 + i32.add + local.set $0 + br $while-continue|2 + end + end + end + local.get $4 + local.get $5 + f64.mul + ) + (func $~lib/util/string/strtol (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 4240 + local.set $5 + i32.const 4236 + i32.load + i32.const 1 + i32.shr_u + local.tee $1 + i32.eqz + if + i32.const 0 + return + end + i32.const 4240 + i32.load16_u + local.set $0 + loop $while-continue|0 + local.get $0 + call $~lib/util/string/isSpace + if + local.get $5 + i32.const 2 i32.add + local.tee $5 i32.load16_u - i32.store16 + local.set $0 local.get $1 - local.get $5 - i64.shr_u - local.tee $1 - i64.const 0 - i64.ne - br_if $do-continue|0 + i32.const 1 + i32.sub + local.set $1 + br $while-continue|0 end end - ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add + i32.const 1 + local.set $2 + i32.const 1 local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add + i32.const 43 + i32.eq local.get $0 - i64.const 1000000000000 - i64.lt_u + i32.const 45 + i32.eq select - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000000 - i64.lt_u - select - local.get $0 - i64.const 1000000000000000 - i64.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) - loop $do-continue|0 - local.get $0 - local.get $2 + if + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $1 + i32.eqz + if + i32.const 0 + return + end + i32.const -1 i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 10 - i64.rem_u - i32.wrap_i64 - i32.const 48 + local.get $0 + i32.const 45 + i32.eq + select + local.set $2 + local.get $5 + i32.const 2 i32.add - i32.store16 - local.get $1 - i64.const 10 - i64.div_u - local.tee $1 - i64.const 0 - i64.ne - br_if $do-continue|0 + local.tee $5 + i32.load16_u + local.set $0 + end + local.get $1 + i32.const 2 + i32.gt_s + i32.const 0 + local.get $0 + i32.const 48 + i32.eq + select + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $5 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.tee $0 + i32.const 98 + i32.ne + if + local.get $0 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $0 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $5 + i32.const 4 + i32.add + local.set $5 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 2 + local.set $4 + br $break|1 + end + local.get $5 + i32.const 4 + i32.add + local.set $5 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 8 + local.set $4 + br $break|1 + end + local.get $5 + i32.const 4 + i32.add + local.set $5 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 16 + local.set $4 + end + end + local.get $4 + i32.const 10 + local.get $4 + select + local.set $4 + loop $while-continue|2 + block $while-break|2 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + if + local.get $4 + local.get $5 + i32.load16_u + local.tee $0 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) + local.get $0 + i32.const 48 + i32.sub + else + local.get $0 + i32.const 55 + i32.sub + local.get $0 + i32.const 87 + i32.sub + local.get $0 + local.get $0 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u + select + local.get $0 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + select + end + local.tee $0 + i32.le_u + if + local.get $3 + i32.eqz + if + i32.const 0 + return + end + br $while-break|2 + end + local.get $0 + local.get $3 + local.get $4 + i32.mul + i32.add + local.set $3 + local.get $5 + i32.const 2 + i32.add + local.set $5 + br $while-continue|2 + end + end end + local.get $2 + local.get $3 + i32.mul ) - (func $~lib/util/number/utoa_hex_simple (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/util/string/strtol (result i64) + (local $0 i32) + (local $1 i32) + (local $2 i64) (local $3 i64) - loop $do-continue|0 + (local $4 i32) + (local $5 i32) + i32.const 4288 + local.set $5 + i32.const 4284 + i32.load + i32.const 1 + i32.shr_u + local.tee $1 + i32.eqz + if + i64.const 0 + return + end + i32.const 4288 + i32.load16_u + local.set $0 + loop $while-continue|0 local.get $0 - local.get $2 + call $~lib/util/string/isSpace + if + local.get $5 + i32.const 2 + i32.add + local.tee $5 + i32.load16_u + local.set $0 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $while-continue|0 + end + end + i64.const 1 + local.set $2 + i32.const 1 + local.get $0 + i32.const 43 + i32.eq + local.get $0 + i32.const 45 + i32.eq + select + if + local.get $1 i32.const 1 i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 15 - i64.and - i64.const 48 - i64.or - local.tee $3 - i64.const 39 - i64.const 0 - local.get $3 - i64.const 57 - i64.gt_u - select - i64.add - i64.store16 - local.get $1 - i64.const 4 - i64.shr_u local.tee $1 - i64.const 0 - i64.ne - br_if $do-continue|0 - end - ) - (func $~lib/util/number/genDigits (param $0 i64) (param $1 i32) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) - (local $6 i64) - (local $7 i32) - (local $8 i64) - (local $9 i32) - (local $10 i64) - (local $11 i64) - local.get $2 - local.get $0 - i64.sub - local.set $8 - local.get $2 - i64.const 1 - i32.const 0 - local.get $3 - i32.sub - local.tee $9 - i64.extend_i32_s - i64.shl - local.tee $10 - i64.const 1 - i64.sub - local.tee $11 - i64.and - local.set $6 - local.get $2 - local.get $9 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.tee $1 - call $~lib/util/number/decimalCount32 - local.set $7 - loop $while-continue|0 - local.get $7 - i32.const 0 - i32.gt_s + i32.eqz if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $7 - i32.const 1 - i32.sub - br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 - end - local.get $1 - i32.const 1000000000 - i32.div_u - local.set $3 - local.get $1 - i32.const 1000000000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 100000000 - i32.div_u - local.set $3 - local.get $1 - i32.const 100000000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 10000000 - i32.div_u - local.set $3 - local.get $1 - i32.const 10000000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 1000000 - i32.div_u - local.set $3 - local.get $1 - i32.const 1000000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 100000 - i32.div_u - local.set $3 - local.get $1 - i32.const 100000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 10000 - i32.div_u - local.set $3 - local.get $1 - i32.const 10000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 1000 - i32.div_u - local.set $3 - local.get $1 - i32.const 1000 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 100 - i32.div_u - local.set $3 - local.get $1 - i32.const 100 - i32.rem_u - local.set $1 - br $break|1 - end - local.get $1 - i32.const 10 - i32.div_u - local.set $3 - local.get $1 - i32.const 10 - i32.rem_u - local.set $1 + i64.const 0 + return + end + i64.const -1 + i64.const 1 + local.get $0 + i32.const 45 + i32.eq + select + local.set $2 + local.get $5 + i32.const 2 + i32.add + local.tee $5 + i32.load16_u + local.set $0 + end + local.get $1 + i32.const 2 + i32.gt_s + i32.const 0 + local.get $0 + i32.const 48 + i32.eq + select + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $5 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.tee $0 + i32.const 98 + i32.ne + if + local.get $0 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $0 + i32.const 120 + i32.eq + br_if $case2|1 br $break|1 end + local.get $5 + i32.const 4 + i32.add + local.set $5 local.get $1 - local.set $3 - i32.const 0 + i32.const 2 + i32.sub local.set $1 + i32.const 2 + local.set $4 br $break|1 end - i32.const 0 - local.set $3 - end - local.get $3 - local.get $5 - i32.or - if - local.get $5 - i32.const 1 - i32.shl - i32.const 21408 - i32.add - local.get $3 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 local.get $5 - i32.const 1 + i32.const 4 i32.add local.set $5 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 8 + local.set $4 + br $break|1 end - local.get $7 - i32.const 1 + local.get $5 + i32.const 4 + i32.add + local.set $5 + local.get $1 + i32.const 2 i32.sub - local.set $7 - local.get $6 + local.set $1 + i32.const 16 + local.set $4 + end + end + local.get $4 + i32.const 10 + local.get $4 + select + local.set $4 + loop $while-continue|2 + block $while-break|2 local.get $1 - i64.extend_i32_u - local.get $9 - i64.extend_i32_s - i64.shl - i64.add local.tee $0 - local.get $4 - i64.le_u + i32.const 1 + i32.sub + local.set $1 + local.get $0 if - local.get $7 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $7 - i32.const 2 - i32.shl - i32.const 22336 - i32.add - i64.load32_u - local.get $9 - i64.extend_i32_s - i64.shl - local.set $2 + local.get $4 local.get $5 - i32.const 1 - i32.shl - i32.const 21406 - i32.add - local.tee $3 i32.load16_u - local.set $1 - loop $while-continue|3 - i32.const 1 - local.get $8 + local.tee $0 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) local.get $0 - i64.sub + i32.const 48 + i32.sub + else local.get $0 - local.get $2 - i64.add - local.tee $6 - local.get $8 - i64.sub - i64.gt_u - local.get $6 - local.get $8 - i64.lt_u - select - i32.const 0 - local.get $2 - local.get $4 + i32.const 55 + i32.sub local.get $0 - i64.sub - i64.le_u - i32.const 0 + i32.const 87 + i32.sub local.get $0 - local.get $8 - i64.lt_u + local.get $0 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u select + local.get $0 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u select + end + local.tee $0 + i32.le_u + if + local.get $3 + i64.eqz if - local.get $1 - i32.const 1 - i32.sub - local.set $1 - local.get $0 - local.get $2 - i64.add - local.set $0 - br $while-continue|3 + i64.const 0 + return end + br $while-break|2 end + local.get $0 + i64.extend_i32_u local.get $3 - local.get $1 - i32.store16 + local.get $4 + i64.extend_i32_s + i64.mul + i64.add + local.set $3 local.get $5 - return + i32.const 2 + i32.add + local.set $5 + br $while-continue|2 end - br $while-continue|0 - end - end - local.get $9 - i64.extend_i32_s - local.set $0 - loop $while-continue|4 - local.get $4 - i64.const 10 - i64.mul - local.set $4 - local.get $6 - i64.const 10 - i64.mul - local.tee $2 - local.get $0 - i64.shr_u - local.tee $6 - local.get $5 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $5 - i32.const 1 - i32.shl - i32.const 21408 - i32.add - local.get $6 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 - local.get $5 - i32.const 1 - i32.add - local.set $5 end - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $4 - local.get $2 - local.get $11 - i64.and - local.tee $6 - i64.le_u - br_if $while-continue|4 end - local.get $7 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $6 - local.set $0 - local.get $8 - i32.const 0 - local.get $7 - i32.sub - i32.const 2 - i32.shl - i32.const 22336 - i32.add - i64.load32_u + local.get $2 + local.get $3 i64.mul - local.set $2 - local.get $5 - i32.const 1 - i32.shl - i32.const 21406 - i32.add - local.tee $3 - i32.load16_u + ) + (func $~lib/math/ipow32 (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + i32.const 5 local.set $1 - loop $while-continue|6 - i32.const 1 - local.get $2 - local.get $0 - i64.sub - local.get $0 - local.get $10 - i64.add - local.tee $6 - local.get $2 - i64.sub - i64.gt_u - local.get $2 - local.get $6 - i64.gt_u - select - i32.const 0 - local.get $10 - local.get $4 - local.get $0 - i64.sub - i64.le_u - i32.const 0 + i32.const 1 + local.set $2 + loop $while-continue|0 local.get $0 - local.get $2 - i64.lt_u - select - select if local.get $1 + local.get $2 + i32.mul + local.get $2 + local.get $0 i32.const 1 - i32.sub - local.set $1 + i32.and + select + local.set $2 local.get $0 - local.get $10 - i64.add + i32.const 1 + i32.shr_u local.set $0 - br $while-continue|6 + local.get $1 + local.get $1 + i32.mul + local.set $1 + br $while-continue|0 end end - local.get $3 - local.get $1 - i32.store16 - local.get $5 - ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) local.get $2 - i32.eqz - if + ) + (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + local.get $1 + i32.const 1023 + i32.gt_s + if (result f64) local.get $0 + f64.const 8988465674311579538646525e283 + f64.mul + local.set $0 local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $1 - i32.const 2 - i32.add - return - end - local.get $1 - local.get $2 - i32.add - local.tee $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $1 - local.get $3 - i32.le_s - select - if (result i32) - loop $for-loop|0 + i32.const 1023 + i32.sub + local.tee $1 + i32.const 1023 + i32.gt_s + if (result f64) local.get $1 - local.get $3 + i32.const 1023 + i32.sub + local.tee $1 + i32.const 1023 + local.get $1 + i32.const 1023 i32.lt_s - if - local.get $0 + select + local.set $1 + local.get $0 + f64.const 8988465674311579538646525e283 + f64.mul + else + local.get $0 + end + else + local.get $1 + i32.const -1022 + i32.lt_s + if (result f64) + local.get $0 + f64.const 2.004168360008973e-292 + f64.mul + local.set $0 + local.get $1 + i32.const 969 + i32.add + local.tee $1 + i32.const -1022 + i32.lt_s + if (result f64) local.get $1 - i32.const 1 - i32.shl + i32.const 969 i32.add - i32.const 48 - i32.store16 + local.tee $1 + i32.const -1022 local.get $1 - i32.const 1 - i32.add + i32.const -1022 + i32.gt_s + select local.set $1 - br $for-loop|0 + local.get $0 + f64.const 2.004168360008973e-292 + f64.mul + else + local.get $0 end + else + local.get $0 end + end + local.get $1 + i64.extend_i32_s + i64.const 1023 + i64.add + i64.const 52 + i64.shl + f64.reinterpret_i64 + f64.mul + ) + (func $~lib/util/string/strtod (param $0 i32) (result f64) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 f64) + (local $11 f64) + (local $12 i32) + (local $13 i64) + (local $14 i64) + block $folding-inner0 local.get $0 - local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $3 - i32.const 2 - i32.add - else - local.get $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $3 - i32.const 0 - i32.gt_s - select + i32.shr_u + local.tee $6 + i32.eqz + br_if $folding-inner0 + local.get $0 + i32.load16_u + local.set $7 + f64.const 1 + local.set $11 + loop $while-continue|0 + local.get $6 + if (result i32) + local.get $7 + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u + local.set $7 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end + end + local.get $6 + i32.eqz + br_if $folding-inner0 + local.get $7 + i32.const 45 + i32.eq if (result i32) - local.get $0 - local.get $3 + local.get $6 i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.const 2 - i32.add - local.get $0 - i32.const 0 - local.get $2 i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + local.tee $6 + i32.eqz + br_if $folding-inner0 + f64.const -1 + local.set $11 local.get $0 - i32.const 46 - i32.store16 - local.get $1 - i32.const 1 + i32.const 2 i32.add + local.tee $0 + i32.load16_u else - local.get $3 - i32.const 0 - i32.le_s - i32.const 0 - local.get $3 - i32.const -6 - i32.gt_s - select + local.get $7 + i32.const 43 + i32.eq if (result i32) + local.get $6 + i32.const 1 + i32.sub + local.tee $6 + i32.eqz + br_if $folding-inner0 local.get $0 i32.const 2 - local.get $3 - i32.sub - local.tee $3 - i32.const 1 - i32.shl i32.add + local.tee $0 + i32.load16_u + else + local.get $7 + end + end + local.tee $7 + i32.const 73 + i32.eq + i32.const 0 + local.get $6 + i32.const 8 + i32.ge_s + select + if + local.get $0 + i64.load + i64.const 29555310648492105 + i64.eq + if (result i32) local.get $0 - local.get $1 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + i64.load offset=8 + i64.const 34058970405077102 + i64.eq + else + i32.const 0 + end + if + local.get $11 + f64.const inf + f64.mul + return + end + br $folding-inner0 + end + local.get $7 + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + i32.const 0 + local.get $7 + i32.const 46 + i32.ne + select + br_if $folding-inner0 + local.get $0 + local.set $2 + loop $while-continue|1 + local.get $7 + i32.const 48 + i32.eq + if local.get $0 - i32.const 3014704 - i32.store i32.const 2 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - local.get $1 - local.get $3 i32.add - else - local.get $1 + local.tee $0 + i32.load16_u + local.set $7 + local.get $6 i32.const 1 - i32.eq - if (result i32) - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $1 - i32.const 4 - i32.add - local.get $3 + i32.sub + local.set $6 + br $while-continue|1 + end + end + local.get $6 + i32.const 0 + i32.le_s + if + f64.const 0 + return + end + local.get $7 + i32.const 46 + i32.eq + if + local.get $0 + local.get $2 + i32.eq + local.set $2 + local.get $0 + i32.const 2 + i32.add + local.set $0 + i32.const 0 + local.get $2 + local.get $6 + i32.const 1 + i32.sub + local.tee $6 + select + br_if $folding-inner0 + i32.const 1 + local.set $12 + loop $for-loop|2 + local.get $0 + i32.load16_u + local.tee $7 + i32.const 48 + i32.eq + if + local.get $6 i32.const 1 i32.sub - local.tee $0 - i32.const 0 - i32.lt_s - local.tee $2 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end - local.get $0 - local.get $0 - call $~lib/util/number/decimalCount32 + local.set $6 + local.get $3 i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $1 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 offset=4 + i32.sub + local.set $3 local.get $0 i32.const 2 i32.add - else - local.get $0 - i32.const 4 - i32.add + local.set $0 + br $for-loop|2 + end + end + local.get $6 + i32.const 0 + i32.le_s + if + f64.const 0 + return + end + local.get $7 + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + i32.const 0 + i32.const 0 + local.get $2 + local.get $3 + select + select + br_if $folding-inner0 + end + local.get $7 + i32.const 48 + i32.sub + local.set $2 + loop $for-loop|3 + i32.const 1 + local.get $12 + i32.eqz + i32.const 0 + local.get $7 + i32.const 46 + i32.eq + select + local.get $2 + i32.const 10 + i32.lt_u + select + if + block $for-break3 + local.get $2 + i32.const 10 + i32.lt_u + if + local.get $2 + i64.extend_i32_u + local.get $5 + i64.const 10 + i64.mul + i64.add + local.get $5 + local.get $2 + i32.eqz + i32.eqz + i64.extend_i32_u + i64.or + local.get $1 + i32.const 19 + i32.lt_s + select + local.set $5 + local.get $1 + i32.const 1 + i32.add + local.set $1 + else + local.get $1 + local.set $3 + i32.const 1 + local.set $12 + end + local.get $6 + i32.const 1 + i32.sub + local.tee $6 + i32.eqz + br_if $for-break3 local.get $0 i32.const 2 i32.add - local.get $1 + local.tee $0 + i32.load16_u + local.tee $7 + i32.const 48 + i32.sub + local.set $2 + br $for-loop|3 + end + end + end + block $~lib/util/string/scientific|inlined.0 (result f64) + f64.const 0 + i32.const 1 + local.get $3 + local.get $1 + local.get $12 + select + i32.const 19 + local.get $1 + local.get $1 + i32.const 19 + i32.gt_s + select + i32.sub + block $~lib/util/string/parseExp|inlined.0 (result i32) + i32.const 1 + local.set $1 + i32.const 0 + local.get $0 + i32.load16_u + i32.const 32 + i32.or + i32.const 101 + i32.ne + br_if $~lib/util/string/parseExp|inlined.0 + drop + i32.const 0 + local.get $6 + i32.const 1 + i32.sub + local.tee $2 + i32.eqz + br_if $~lib/util/string/parseExp|inlined.0 + drop + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u + local.tee $3 + i32.const 45 + i32.eq + if (result i32) + i32.const 0 + local.get $2 i32.const 1 - i32.shl - local.tee $2 - i32.const 2 i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 + local.tee $2 + i32.eqz + br_if $~lib/util/string/parseExp|inlined.0 + drop + i32.const -1 + local.set $1 local.get $0 - local.get $2 + i32.const 2 i32.add local.tee $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $2 - i32.const 4 - i32.add + i32.load16_u + else local.get $3 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - i32.lt_s - local.tee $3 - if + i32.const 43 + i32.eq + if (result i32) i32.const 0 - local.get $0 + local.get $2 + i32.const 1 i32.sub - local.set $0 + local.tee $2 + i32.eqz + br_if $~lib/util/string/parseExp|inlined.0 + drop + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u + else + local.get $3 end - local.get $0 - local.get $0 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 offset=4 - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.add end - end - end - end - ) - (func $~lib/util/number/dtoa_core (param $0 f64) (result i32) - (local $1 i64) - (local $2 i32) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i64) - (local $11 i64) - local.get $0 - f64.const 0 - f64.lt - local.tee $8 - if (result f64) - i32.const 21408 - i32.const 45 - i32.store16 - local.get $0 - f64.neg - else - local.get $0 - end - i64.reinterpret_f64 - local.tee $3 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $6 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $3 - i64.const 4503599627370495 - i64.and - i64.add - local.tee $1 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $3 - i64.clz - i32.wrap_i64 - local.set $2 - local.get $3 - local.get $2 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus - local.get $6 - i32.const 1 - local.get $6 - select - i32.const 1075 - i32.sub - local.tee $6 - i32.const 1 - i32.sub - local.get $2 - i32.sub - local.set $2 - local.get $1 - local.get $1 - i64.const 4503599627370496 - i64.eq - i32.const 1 - i32.add - local.tee $7 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $6 - local.get $7 - i32.sub - local.get $2 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $2 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.tee $0 - i32.trunc_f64_s - local.tee $2 - local.get $0 - local.get $2 - f64.convert_i32_s - f64.ne - i32.add - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.tee $2 - i32.const 3 - i32.shl - local.tee $7 - i32.sub - global.set $~lib/util/number/_K - local.get $7 - i32.const 21464 - i32.add - i64.load - global.set $~lib/util/number/_frc_pow - local.get $2 - i32.const 1 - i32.shl - i32.const 22160 - i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - global.get $~lib/util/number/_frc_pow - local.tee $4 - i64.const 32 - i64.shr_u - local.set $3 - local.get $4 - i64.const 4294967295 - i64.and - local.tee $4 - global.get $~lib/util/number/_frc_plus - local.tee $5 - i64.const 32 - i64.shr_u - local.tee $10 - i64.mul - local.get $4 - local.get $5 - i64.const 4294967295 - i64.and - local.tee $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $5 - local.get $8 - i32.const 1 - i32.shl - i32.const 21408 - i32.add - local.get $3 - local.get $1 - local.get $1 - i64.clz - i32.wrap_i64 - local.tee $2 - i64.extend_i32_s - i64.shl - local.tee $1 - i64.const 32 - i64.shr_u - local.tee $9 - i64.mul - local.get $4 - local.get $9 - i64.mul - local.get $4 - local.get $1 - i64.const 4294967295 - i64.and - local.tee $1 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $9 - i64.const 32 - i64.shr_u - i64.add - local.get $1 - local.get $3 - i64.mul - local.get $9 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - global.get $~lib/util/number/_exp_pow - local.tee $7 - local.get $6 - local.get $2 - i32.sub - i32.add - i32.const -64 - i32.sub - local.get $3 - local.get $10 - i64.mul - local.get $5 - i64.const 32 - i64.shr_u - i64.add - local.get $3 - local.get $11 - i64.mul - local.get $5 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.sub - local.tee $1 - local.get $7 - global.get $~lib/util/number/_exp - i32.add - i32.const -64 - i32.sub - local.get $1 - local.get $3 - global.get $~lib/util/number/_frc_minus - local.tee $1 - i64.const 32 - i64.shr_u - local.tee $5 - i64.mul - local.get $4 - local.get $5 - i64.mul - local.get $4 - local.get $1 - i64.const 4294967295 - i64.and - local.tee $4 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $1 - i64.const 32 - i64.shr_u - i64.add - local.get $3 - local.get $4 - i64.mul - local.get $1 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.add - i64.sub - local.get $8 - call $~lib/util/number/genDigits - local.get $8 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.get $8 - i32.add - ) - (func $std/string/getString (result i32) - global.get $std/string/str - ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load offset=4 - local.tee $1 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load - local.tee $3 - if - local.get $3 - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end - unreachable - ) - (func $~start - call $start:std/string - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 24428 - i32.lt_s - if - i32.const 40832 - i32.const 40880 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 0 - local.get $1 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - i32.const 0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1264 - i32.const 1328 - i32.const 54 - i32.const 31 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String.__not (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.eqz - else - i32.const 1 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String.fromCharCodes (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=12 - local.tee $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $0 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - return - end - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - local.set $2 - local.get $3 - local.get $4 - i32.sub - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $1 - local.get $4 - call $~lib/util/string/compareImpl - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - ) - (func $~lib/string/String#padStart (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - i32.const 1 - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $4 - i32.eqz - local.get $3 - i32.const 1 - i32.shl - local.tee $5 - local.get $1 - i32.const 1 - i32.shl - local.tee $3 - i32.gt_u - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $4 - local.get $3 - local.get $5 - i32.sub - local.tee $3 - i32.lt_u - if - local.get $1 - local.get $2 - local.get $4 - local.get $3 - i32.const 2 - i32.sub - local.get $4 - i32.div_u - local.tee $6 - call $~lib/memory/memory.repeat - local.get $1 - local.get $4 - local.get $6 - i32.mul - local.tee $4 - i32.add - local.get $2 - local.get $3 - local.get $4 - i32.sub - call $~lib/memory/memory.copy - else - local.get $1 - local.get $2 - local.get $3 - call $~lib/memory/memory.copy - end - local.get $1 - local.get $3 - i32.add - local.get $0 - local.get $5 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String#padEnd (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - i32.const 1 - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $4 - i32.eqz - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $1 - i32.const 1 - i32.shl - local.tee $5 - i32.gt_u - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $4 - local.get $5 - local.get $3 - i32.sub - local.tee $0 - i32.lt_u - if - local.get $1 - local.get $3 - i32.add - local.tee $3 - local.get $2 - local.get $4 - local.get $0 - i32.const 2 - i32.sub - local.get $4 - i32.div_u - local.tee $5 - call $~lib/memory/memory.repeat - local.get $3 - local.get $4 - local.get $5 - i32.mul - local.tee $4 - i32.add - local.get $2 - local.get $0 - local.get $4 - i32.sub - call $~lib/memory/memory.copy - else - local.get $1 - local.get $3 - i32.add - local.get $2 - local.get $0 - call $~lib/memory/memory.copy - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.set $5 - local.get $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - return - end - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $5 - local.get $4 - i32.sub - local.tee $3 - local.get $2 - local.get $3 - i32.lt_s - select - local.set $2 - loop $for-loop|0 - local.get $2 - i32.const 0 - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $2 - local.get $1 - local.get $4 - call $~lib/util/string/compareImpl - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - ) - (func $~lib/string/String#localeCompare (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - local.get $0 - local.get $1 - i32.eq - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $3 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - i32.const -1 - local.get $2 - local.get $3 - i32.lt_s - select - return - end - local.get $2 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 0 - local.get $1 - local.get $2 - call $~lib/util/string/compareImpl - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String#trimStart (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if (result i32) - local.get $0 - local.get $1 - i32.add - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - local.get $2 - local.get $1 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - local.get $1 - i32.add - local.get $2 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#trimEnd (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.shl - local.tee $2 - local.set $1 - loop $while-continue|0 - local.get $1 - if (result i32) - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.sub - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $1 - i32.const 2 - i32.sub - local.set $1 - br $while-continue|0 - end - end - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - local.get $1 - local.get $2 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#trim (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.set $3 - local.get $1 - i32.const 1 - i32.shl - local.set $1 - loop $while-continue|0 - local.get $1 - if (result i32) - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.sub - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $1 - i32.const 2 - i32.sub - local.set $1 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $1 - local.get $2 - i32.gt_u - if (result i32) - local.get $0 - local.get $2 - i32.add - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - br $while-continue|1 - end - end - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - i32.const 0 - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.eq - local.get $2 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - local.get $2 - i32.add - local.get $1 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - block $folding-inner0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - br_if $folding-inner0 - local.get $0 - i32.load16_u - local.set $2 - loop $while-continue|0 - local.get $2 - call $~lib/util/string/isSpace - if - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.set $2 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|0 - end - end - f64.const 1 - local.set $4 - i32.const 1 - local.get $2 - i32.const 43 - i32.eq - local.get $2 - i32.const 45 - i32.eq - select - if - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.eqz - br_if $folding-inner0 - f64.const -1 - f64.const 1 - local.get $2 - i32.const 45 - i32.eq - select - local.set $4 - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.set $2 - end - local.get $1 - if - i32.const 1 - local.get $1 - i32.const 36 - i32.gt_s - local.get $1 - i32.const 2 - i32.lt_s - select - br_if $folding-inner0 - local.get $1 - i32.const 16 - i32.eq - if - local.get $2 - i32.const 48 - i32.eq - i32.const 0 - local.get $3 - i32.const 2 - i32.gt_s - select - if (result i32) - local.get $0 - i32.load16_u offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $3 - i32.const 2 - i32.sub - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.set $0 - end - end - else - local.get $3 - i32.const 2 - i32.gt_s - i32.const 0 - local.get $2 - i32.const 48 - i32.eq - select - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $0 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.tee $2 - i32.const 98 - i32.ne - if - local.get $2 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $2 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $3 - i32.const 2 - i32.sub - local.set $3 - i32.const 2 - local.set $1 - br $break|1 - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $3 - i32.const 2 - i32.sub - local.set $3 - i32.const 8 - local.set $1 - br $break|1 - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $3 - i32.const 2 - i32.sub - local.set $3 - i32.const 16 - local.set $1 - end - end - local.get $1 - i32.const 10 - local.get $1 - select - local.set $1 - end - loop $while-continue|2 - block $while-break|2 - local.get $3 - local.tee $2 - i32.const 1 - i32.sub - local.set $3 - local.get $2 - if - local.get $1 - local.get $0 - i32.load16_u - local.tee $2 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - local.get $2 - i32.const 48 - i32.sub - else - local.get $2 - i32.const 55 - i32.sub - local.get $2 - i32.const 87 - i32.sub - local.get $2 - local.get $2 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select - local.get $2 - i32.const 65 - i32.sub - i32.const 25 - i32.le_u - select - end - local.tee $2 - i32.le_u - if - local.get $5 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.gt_u - br_if $folding-inner0 - br $while-break|2 - end - local.get $5 - local.get $1 - f64.convert_i32_s - f64.mul - local.get $2 - f64.convert_i32_u - f64.add - local.set $5 - local.get $0 - i32.const 2 - i32.add - local.set $0 - br $while-continue|2 - end - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $5 - f64.mul - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - f64.const nan:0x8000000000000 - ) - (func $~lib/string/parseInt (param $0 i32) (param $1 i32) (result f64) - (local $2 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - call $~lib/util/string/strtol - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/strtol (result i32) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 4240 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store - block $folding-inner0 - i32.const 4236 - i32.load - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $folding-inner0 - i32.const 4240 - i32.load16_u - local.set $0 - loop $while-continue|0 - local.get $0 - call $~lib/util/string/isSpace - if - local.get $5 - i32.const 2 - i32.add - local.tee $5 - i32.load16_u - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|0 - end - end - i32.const 1 - local.set $2 - i32.const 1 - local.get $0 - i32.const 43 - i32.eq - local.get $0 - i32.const 45 - i32.eq - select - if - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.eqz - br_if $folding-inner0 - i32.const -1 - i32.const 1 - local.get $0 - i32.const 45 - i32.eq - select - local.set $2 - local.get $5 - i32.const 2 - i32.add - local.tee $5 - i32.load16_u - local.set $0 - end - local.get $1 - i32.const 2 - i32.gt_s - i32.const 0 - local.get $0 - i32.const 48 - i32.eq - select - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $5 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.tee $0 - i32.const 98 - i32.ne - if - local.get $0 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $0 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 2 - local.set $4 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 8 - local.set $4 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 16 - local.set $4 - end - end - local.get $4 - i32.const 10 - local.get $4 - select - local.set $4 - loop $while-continue|2 - block $while-break|2 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $0 - if - local.get $4 - local.get $5 - i32.load16_u - local.tee $0 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - local.get $0 - i32.const 48 - i32.sub - else - local.get $0 - i32.const 55 - i32.sub - local.get $0 - i32.const 87 - i32.sub - local.get $0 - local.get $0 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select - local.get $0 - i32.const 65 - i32.sub - i32.const 25 - i32.le_u - select - end - local.tee $0 - i32.le_u - if - local.get $3 - i32.eqz - br_if $folding-inner0 - br $while-break|2 - end - local.get $0 - local.get $3 - local.get $4 - i32.mul - i32.add - local.set $3 - local.get $5 - i32.const 2 - i32.add - local.set $5 - br $while-continue|2 - end - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $3 - i32.mul - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/util/string/strtol (result i64) - (local $0 i32) - (local $1 i32) - (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) - i32.const 4288 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4288 - i32.store - block $folding-inner0 - i32.const 4284 - i32.load - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $folding-inner0 - i32.const 4288 - i32.load16_u - local.set $0 - loop $while-continue|0 - local.get $0 - call $~lib/util/string/isSpace - if - local.get $5 - i32.const 2 - i32.add - local.tee $5 - i32.load16_u - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|0 - end - end - i64.const 1 - local.set $2 - i32.const 1 - local.get $0 - i32.const 43 - i32.eq - local.get $0 - i32.const 45 - i32.eq - select - if - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.eqz - br_if $folding-inner0 - i64.const -1 - i64.const 1 - local.get $0 - i32.const 45 - i32.eq - select - local.set $2 - local.get $5 - i32.const 2 - i32.add - local.tee $5 - i32.load16_u - local.set $0 - end - local.get $1 - i32.const 2 - i32.gt_s - i32.const 0 - local.get $0 - i32.const 48 - i32.eq - select - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $5 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.tee $0 - i32.const 98 - i32.ne - if - local.get $0 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $0 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 2 - local.set $4 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 8 - local.set $4 - br $break|1 - end - local.get $5 - i32.const 4 - i32.add - local.set $5 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 16 - local.set $4 - end - end - local.get $4 - i32.const 10 - local.get $4 - select - local.set $4 - loop $while-continue|2 - block $while-break|2 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $0 - if - local.get $4 - local.get $5 - i32.load16_u - local.tee $0 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - local.get $0 - i32.const 48 - i32.sub - else - local.get $0 - i32.const 55 - i32.sub - local.get $0 - i32.const 87 - i32.sub - local.get $0 - local.get $0 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select - local.get $0 - i32.const 65 - i32.sub - i32.const 25 - i32.le_u - select - end - local.tee $0 - i32.le_u - if - local.get $3 - i64.eqz - br_if $folding-inner0 - br $while-break|2 - end - local.get $0 - i64.extend_i32_u + local.set $3 + loop $while-continue|4 local.get $3 - local.get $4 - i64.extend_i32_s - i64.mul - i64.add - local.set $3 - local.get $5 - i32.const 2 - i32.add - local.set $5 - br $while-continue|2 - end - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $3 - i64.mul - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i64.const 0 - ) - (func $~lib/util/string/strtod (param $0 i32) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - block $folding-inner1 - block $folding-inner0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.eqz - br_if $folding-inner0 - local.get $0 - i32.load16_u - local.set $7 - f64.const 1 - local.set $11 - loop $while-continue|0 - local.get $6 - if (result i32) - local.get $7 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - local.get $6 - i32.eqz - br_if $folding-inner0 - local.get $7 - i32.const 45 - i32.eq - if (result i32) - local.get $6 - i32.const 1 - i32.sub - local.tee $6 - i32.eqz - br_if $folding-inner0 - f64.const -1 - local.set $11 - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - else - local.get $7 - i32.const 43 - i32.eq - if (result i32) - local.get $6 - i32.const 1 - i32.sub - local.tee $6 - i32.eqz - br_if $folding-inner0 - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - else - local.get $7 - end - end - local.tee $7 - i32.const 73 - i32.eq - i32.const 0 - local.get $6 - i32.const 8 - i32.ge_s - select - if - local.get $0 - i64.load - i64.const 29555310648492105 - i64.eq - if (result i32) - local.get $0 - i64.load offset=8 - i64.const 34058970405077102 - i64.eq - else - i32.const 0 - end - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - f64.const inf - f64.mul - return - end - br $folding-inner0 - end - local.get $7 - i32.const 48 - i32.sub - i32.const 10 - i32.ge_u - i32.const 0 - local.get $7 - i32.const 46 - i32.ne - select - br_if $folding-inner0 - local.get $0 - local.set $2 - loop $while-continue|1 - local.get $7 - i32.const 48 - i32.eq - if - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.set $7 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - local.get $6 - i32.const 0 - i32.le_s - br_if $folding-inner1 - local.get $7 - i32.const 46 - i32.eq - if - local.get $0 - local.get $2 - i32.eq - local.set $2 - local.get $0 - i32.const 2 - i32.add - local.set $0 - i32.const 0 - local.get $2 - local.get $6 - i32.const 1 - i32.sub - local.tee $6 - select - br_if $folding-inner0 - i32.const 1 - local.set $12 - loop $for-loop|2 - local.get $0 - i32.load16_u - local.tee $7 i32.const 48 i32.eq if - local.get $6 - i32.const 1 - i32.sub - local.set $6 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $0 - i32.const 2 - i32.add - local.set $0 - br $for-loop|2 - end - end - local.get $6 - i32.const 0 - i32.le_s - br_if $folding-inner1 - local.get $7 - i32.const 48 - i32.sub - i32.const 10 - i32.ge_u - i32.const 0 - i32.const 0 - local.get $2 - local.get $3 - select - select - br_if $folding-inner0 - end - local.get $7 - i32.const 48 - i32.sub - local.set $2 - loop $for-loop|3 - i32.const 1 - local.get $12 - i32.eqz - i32.const 0 - local.get $7 - i32.const 46 - i32.eq - select - local.get $2 - i32.const 10 - i32.lt_u - select - if - block $for-break3 + i32.const 0 local.get $2 - i32.const 10 - i32.lt_u - if - local.get $2 - i64.extend_i32_u - local.get $5 - i64.const 10 - i64.mul - i64.add - local.get $5 - local.get $2 - i32.eqz - i32.eqz - i64.extend_i32_u - i64.or - local.get $1 - i32.const 19 - i32.lt_s - select - local.set $5 - local.get $1 - i32.const 1 - i32.add - local.set $1 - else - local.get $1 - local.set $3 - i32.const 1 - local.set $12 - end - local.get $6 i32.const 1 i32.sub - local.tee $6 + local.tee $2 i32.eqz - br_if $for-break3 + br_if $~lib/util/string/parseExp|inlined.0 + drop local.get $0 i32.const 2 i32.add local.tee $0 i32.load16_u - local.tee $7 - i32.const 48 - i32.sub - local.set $2 - br $for-loop|3 + local.set $3 + br $while-continue|4 end end - end - block $~lib/util/string/scientific|inlined.0 (result f64) - f64.const 0 - i32.const 1 local.get $3 - local.get $1 - local.get $12 - select - i32.const 19 - local.get $1 - local.get $1 - i32.const 19 - i32.gt_s - select + i32.const 48 i32.sub - block $~lib/util/string/parseExp|inlined.0 (result i32) - i32.const 1 - local.set $1 - i32.const 0 - local.get $0 - i32.load16_u - i32.const 32 - i32.or - i32.const 101 - i32.ne - br_if $~lib/util/string/parseExp|inlined.0 - drop + local.set $3 + loop $for-loop|5 + local.get $3 + i32.const 10 + i32.lt_u i32.const 0 - local.get $6 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.tee $3 - i32.const 45 - i32.eq - if (result i32) - i32.const 0 + local.get $2 + select + if + local.get $1 + i32.const 3200 + i32.mul + local.get $4 + i32.const 3200 + i32.ge_s + br_if $~lib/util/string/parseExp|inlined.0 + drop + local.get $3 + local.get $4 + i32.const 10 + i32.mul + i32.add + local.set $4 local.get $2 i32.const 1 i32.sub - local.tee $2 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - i32.const -1 - local.set $1 + local.set $2 local.get $0 i32.const 2 i32.add local.tee $0 i32.load16_u - else - local.get $3 - i32.const 43 - i32.eq - if (result i32) - i32.const 0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - else - local.get $3 - end - end - local.set $3 - loop $while-continue|4 - local.get $3 i32.const 48 - i32.eq - if - i32.const 0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - local.set $3 - br $while-continue|4 - end - end - local.get $3 - i32.const 48 - i32.sub - local.set $3 - loop $for-loop|5 - local.get $3 - i32.const 10 - i32.lt_u - i32.const 0 - local.get $2 - select - if - local.get $1 - i32.const 3200 - i32.mul - local.get $4 - i32.const 3200 - i32.ge_s - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $3 - local.get $4 - i32.const 10 - i32.mul - i32.add - local.set $4 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u - i32.const 48 - i32.sub - local.set $3 - br $for-loop|5 - end + i32.sub + local.set $3 + br $for-loop|5 end - local.get $1 - local.get $4 - i32.mul end - i32.add - local.tee $0 - i32.const -342 - i32.lt_s - local.get $5 - i64.eqz - select - br_if $~lib/util/string/scientific|inlined.0 - drop - f64.const inf + local.get $1 + local.get $4 + i32.mul + end + i32.add + local.tee $0 + i32.const -342 + i32.lt_s + local.get $5 + i64.eqz + select + br_if $~lib/util/string/scientific|inlined.0 + drop + f64.const inf + local.get $0 + i32.const 308 + i32.gt_s + br_if $~lib/util/string/scientific|inlined.0 + drop + local.get $5 + f64.convert_i64_u + local.tee $10 + local.get $0 + i32.eqz + br_if $~lib/util/string/scientific|inlined.0 + drop + local.get $0 + i32.const 37 + i32.le_s + i32.const 0 + local.get $0 + i32.const 22 + i32.gt_s + select + if + local.get $10 local.get $0 - i32.const 308 - i32.gt_s - br_if $~lib/util/string/scientific|inlined.0 - drop - local.get $5 - f64.convert_i64_u - local.tee $10 + i32.const 3 + i32.shl + i32.const 4160 + i32.add + f64.load + f64.mul + local.set $10 + i32.const 22 + local.set $0 + end + local.get $5 + i64.const 9007199254740991 + i64.le_u + if (result i32) local.get $0 - i32.eqz - br_if $~lib/util/string/scientific|inlined.0 - drop + i32.const 31 + i32.shr_s + local.tee $7 local.get $0 - i32.const 37 + local.get $7 + i32.add + i32.xor + i32.const 22 i32.le_s + else i32.const 0 + end + if (result f64) local.get $0 - i32.const 22 + i32.const 0 i32.gt_s - select if local.get $10 local.get $0 i32.const 3 i32.shl - i32.const 4160 + i32.const 4336 i32.add f64.load f64.mul - local.set $10 - i32.const 22 - local.set $0 - end - local.get $5 - i64.const 9007199254740991 - i64.le_u - if (result i32) - local.get $0 - i32.const 31 - i32.shr_s - local.tee $7 - local.get $0 - local.get $7 - i32.add - i32.xor - i32.const 22 - i32.le_s - else - i32.const 0 + br $~lib/util/string/scientific|inlined.0 end + local.get $10 + i32.const 0 + local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.const 4336 + i32.add + f64.load + f64.div + else + local.get $0 + i32.const 0 + i32.lt_s if (result f64) - local.get $0 - i32.const 0 - i32.gt_s - if - local.get $10 - local.get $0 - i32.const 3 - i32.shl - i32.const 4336 - i32.add - f64.load - f64.mul - br $~lib/util/string/scientific|inlined.0 + local.get $5 + local.get $5 + i64.clz + local.tee $8 + i64.shl + local.set $5 + local.get $0 + local.tee $1 + i64.extend_i32_s + local.get $8 + i64.sub + local.set $8 + loop $for-loop|6 + local.get $1 + i32.const -14 + i32.le_s + if + local.get $5 + i64.const 6103515625 + i64.rem_u + local.get $5 + i64.const 6103515625 + i64.div_u + local.tee $5 + i64.clz + local.tee $9 + i64.const 18 + i64.sub + i64.shl + f64.convert_i64_u + f64.const 0.00004294967296 + f64.mul + f64.nearest + i64.trunc_f64_u + local.get $5 + local.get $9 + i64.shl + i64.add + local.set $5 + local.get $8 + local.get $9 + i64.sub + local.set $8 + local.get $1 + i32.const 14 + i32.add + local.set $1 + br $for-loop|6 + end end - local.get $10 + local.get $5 i32.const 0 - local.get $0 + local.get $1 i32.sub - i32.const 3 - i32.shl - i32.const 4336 - i32.add - f64.load + call $~lib/math/ipow32 + i64.extend_i32_s + local.tee $13 + i64.div_u + local.tee $14 + i64.clz + local.set $9 + local.get $5 + local.get $13 + i64.rem_u + f64.convert_i64_u + i64.reinterpret_f64 + local.get $9 + i64.const 52 + i64.shl + i64.add + f64.reinterpret_i64 + local.get $13 + f64.convert_i64_u f64.div + i64.trunc_f64_u + local.get $14 + local.get $9 + i64.shl + i64.add + f64.convert_i64_u + local.get $8 + local.get $9 + i64.sub + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn else + local.get $5 + local.get $5 + i64.ctz + local.tee $8 + i64.shr_u + local.set $5 + local.get $8 local.get $0 - i32.const 0 - i32.lt_s - if (result f64) - local.get $5 - local.get $5 - i64.clz - local.tee $8 - i64.shl - local.set $5 - local.get $0 - local.tee $1 - i64.extend_i32_s - local.get $8 - i64.sub - local.set $8 - loop $for-loop|6 - local.get $1 - i32.const -14 - i32.le_s - if - local.get $5 - i64.const 6103515625 - i64.rem_u - local.get $5 - i64.const 6103515625 - i64.div_u - local.tee $5 - i64.clz - local.tee $9 - i64.const 18 - i64.sub - i64.shl - f64.convert_i64_u - f64.const 0.00004294967296 - f64.mul - f64.nearest - i64.trunc_f64_u - local.get $5 - local.get $9 - i64.shl - i64.add - local.set $5 - local.get $8 - local.get $9 - i64.sub - local.set $8 - local.get $1 - i32.const 14 - i32.add - local.set $1 - br $for-loop|6 - end - end - local.get $5 - i32.const 0 - local.get $1 - i32.sub - call $~lib/math/ipow32 - i64.extend_i32_s - local.tee $13 - i64.div_u - local.tee $14 - i64.clz - local.set $9 - local.get $5 - local.get $13 - i64.rem_u - f64.convert_i64_u - i64.reinterpret_f64 - local.get $9 - i64.const 52 - i64.shl - i64.add - f64.reinterpret_i64 - local.get $13 - f64.convert_i64_u - f64.div - i64.trunc_f64_u - local.get $14 - local.get $9 - i64.shl - i64.add - f64.convert_i64_u - local.get $8 - local.get $9 - i64.sub - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn - else - local.get $5 - local.get $5 - i64.ctz - local.tee $8 - i64.shr_u - local.set $5 - local.get $8 - local.get $0 - local.tee $4 - i64.extend_i32_s - i64.add - global.set $~lib/util/string/__fixmulShift - loop $for-loop|7 + local.tee $4 + i64.extend_i32_s + i64.add + global.set $~lib/util/string/__fixmulShift + loop $for-loop|7 + local.get $4 + i32.const 13 + i32.ge_s + if + i64.const 32 + local.get $5 + i64.const 32 + i64.shr_u + i64.const 1220703125 + i64.mul + local.get $5 + i64.const 4294967295 + i64.and + i64.const 1220703125 + i64.mul + local.tee $5 + i64.const 32 + i64.shr_u + i64.add + local.tee $8 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.clz + local.tee $0 + i64.extend_i32_u + i64.sub + local.tee $9 + global.get $~lib/util/string/__fixmulShift + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $5 + local.get $0 + i64.extend_i32_u + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + local.get $8 + local.get $0 + i64.extend_i32_u + i64.shl + local.get $5 + i64.const 4294967295 + i64.and + local.get $9 + i64.shr_u + i64.or + i64.add + local.set $5 local.get $4 i32.const 13 - i32.ge_s - if - i64.const 32 - local.get $5 - i64.const 32 - i64.shr_u - i64.const 1220703125 - i64.mul - local.get $5 - i64.const 4294967295 - i64.and - i64.const 1220703125 - i64.mul - local.tee $5 - i64.const 32 - i64.shr_u - i64.add - local.tee $8 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.clz - local.tee $0 - i64.extend_i32_u - i64.sub - local.tee $9 - global.get $~lib/util/string/__fixmulShift - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $5 - local.get $0 - i64.extend_i32_u - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - local.get $8 - local.get $0 - i64.extend_i32_u - i64.shl - local.get $5 - i64.const 4294967295 - i64.and - local.get $9 - i64.shr_u - i64.or - i64.add - local.set $5 - local.get $4 - i32.const 13 - i32.sub - local.set $4 - br $for-loop|7 - end + i32.sub + local.set $4 + br $for-loop|7 end - local.get $4 - call $~lib/math/ipow32 - local.tee $0 - i64.extend_i32_u - local.get $5 - i64.const 4294967295 - i64.and - i64.mul - local.set $8 - i64.const 32 - local.get $0 - i64.extend_i32_u - local.get $5 - i64.const 32 - i64.shr_u - i64.mul - local.get $8 - i64.const 32 - i64.shr_u - i64.add - local.tee $5 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.clz - local.tee $0 - i64.extend_i32_u - i64.sub - local.tee $9 - global.get $~lib/util/string/__fixmulShift - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $8 - local.get $0 - i64.extend_i32_u - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - local.get $5 - local.get $0 - i64.extend_i32_u - i64.shl - local.get $8 - i64.const 4294967295 - i64.and - local.get $9 - i64.shr_u - i64.or - i64.add - f64.convert_i64_u - global.get $~lib/util/string/__fixmulShift - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn end + local.get $4 + call $~lib/math/ipow32 + local.tee $0 + i64.extend_i32_u + local.get $5 + i64.const 4294967295 + i64.and + i64.mul + local.set $8 + i64.const 32 + local.get $0 + i64.extend_i32_u + local.get $5 + i64.const 32 + i64.shr_u + i64.mul + local.get $8 + i64.const 32 + i64.shr_u + i64.add + local.tee $5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.clz + local.tee $0 + i64.extend_i32_u + i64.sub + local.tee $9 + global.get $~lib/util/string/__fixmulShift + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $8 + local.get $0 + i64.extend_i32_u + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + local.get $5 + local.get $0 + i64.extend_i32_u + i64.shl + local.get $8 + i64.const 4294967295 + i64.and + local.get $9 + i64.shr_u + i64.or + i64.add + f64.convert_i64_u + global.get $~lib/util/string/__fixmulShift + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - f64.copysign - return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - f64.const nan:0x8000000000000 + local.get $11 + f64.copysign return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - f64.const 0 - ) - (func $~lib/string/parseFloat (param $0 i32) (result f64) - (local $1 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - call $~lib/util/string/strtod - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + f64.const nan:0x8000000000000 ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__gt (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i32.const 1 local.get $1 i32.eqz + i32.const 1 + local.get $0 + i32.eqz + local.get $0 + local.get $1 + i32.eq + select + select if - global.get $~lib/memory/__stack_pointer - i32.const 2208 - i32.store - i32.const 2208 - local.set $1 + i32.const 0 + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 1 - i32.shl - local.tee $3 + local.tee $2 + i32.eqz + if + i32.const 0 + return + end local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - i32.const 1 - i32.shl - local.tee $4 - i32.add - local.tee $2 + local.tee $3 i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 1 return end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 + local.get $0 + i32.const 0 + local.get $1 local.get $2 - local.get $0 local.get $3 - call $~lib/memory/memory.copy local.get $2 local.get $3 - i32.add - local.get $1 - local.get $4 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.lt_s + select + call $~lib/util/string/compareImpl + local.tee $0 + i32.const 0 + i32.gt_s local.get $2 - ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2208 + local.get $3 + i32.gt_s local.get $0 select - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/string/String.__lt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + i32.const 1 local.get $1 - i32.store offset=4 + i32.eqz + i32.const 1 local.get $0 - local.get $1 - call $~lib/string/String#concat - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.eqz local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $0 + i32.eq + select + select + if + i32.const 0 + return + end local.get $1 - call $~lib/string/String.__eq - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String.__gt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - i32.const 1 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - i32.eqz - local.get $0 - local.get $1 - i32.eq - select - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 0 - local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + i32.eqz + if i32.const 0 - i32.gt_s - local.get $2 - local.get $3 - i32.gt_s - local.get $0 - select return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String.__lt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $folding-inner0 - i32.const 1 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - i32.eqz - local.get $0 - local.get $1 - i32.eq - select - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.const 0 - local.get $1 - local.get $3 - local.get $2 - local.get $2 - local.get $3 - i32.gt_s - local.tee $1 - select - call $~lib/util/string/compareImpl - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.lt_s - local.get $1 - local.get $0 - select + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.eqz + if + i32.const 1 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/string/String.__gte (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - i32.store offset=4 + local.get $3 + local.get $2 + local.get $2 + local.get $3 + i32.gt_s + local.tee $0 + select + call $~lib/util/string/compareImpl + local.tee $1 + i32.const 0 + i32.lt_s local.get $0 local.get $1 - call $~lib/string/String.__lt - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + select ) - (func $~lib/string/String.__lte (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.load + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $2 + local.get $1 + i32.store offset=16 + local.get $0 + return + end + local.get $1 + local.get $2 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $3 local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + local.get $2 + i32.load offset=16 + local.tee $0 local.get $0 local.get $1 - call $~lib/string/String.__gt - i32.eqz - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.gt_u + select + call $~lib/memory/memory.copy + local.get $3 ) - (func $~lib/string/String#repeat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 - i32.store + i32.load offset=12 + local.tee $6 i32.const 1 + i32.add + local.tee $3 + local.set $2 + local.get $3 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 + i32.load offset=8 + local.tee $4 + i32.const 2 i32.shr_u - local.tee $2 - i64.extend_i32_s + i32.gt_u + if + local.get $2 + i32.const 268435455 + i32.gt_u + if + i32.const 13648 + i32.const 15248 + i32.const 14 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $0 + i32.load + local.tee $7 + local.get $2 + i32.const 2 + i32.shl + local.tee $5 + call $~lib/rt/itcms/__renew + local.tee $2 + i32.add + local.get $5 + local.get $4 + i32.sub + call $~lib/memory/memory.fill + local.get $2 + local.get $7 + i32.ne + if + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $0 + local.get $5 + i32.store offset=8 + end + local.get $0 + i32.load offset=4 + local.get $6 + i32.const 2 + i32.shl + i32.add local.get $1 - i64.extend_i32_s - i64.mul - i64.const 268435456 - i64.gt_u + i32.store + local.get $0 local.get $1 - i32.const 0 - i32.lt_s + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.store offset=12 + ) + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + local.get $0 + i32.const 100 + i32.lt_u select - if - i32.const 13648 - i32.const 1328 - i32.const 333 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + local.get $0 + i32.const 10000000 + i32.lt_u + select + local.get $0 + i32.const 100000 + i32.lt_u + select + ) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) + loop $do-continue|0 + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store16 + local.get $1 + i32.const 10 + i32.div_u + local.tee $1 + br_if $do-continue|0 end - local.get $2 - i32.eqz - i32.const 1 - local.get $1 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 + ) + (func $~lib/util/number/utoa_hex_simple (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + loop $do-continue|0 + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return + local.get $1 + i32.const 15 + i32.and + i32.const 48 + i32.or + local.tee $3 + i32.const 39 + i32.const 0 + local.get $3 + i32.const 57 + i32.gt_u + select + i32.add + i32.store16 + local.get $1 + i32.const 4 + i32.shr_u + local.tee $1 + br_if $do-continue|0 end + ) + (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) + (local $2 i64) + (local $3 i64) local.get $1 + i32.popcnt i32.const 1 i32.eq if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 63 local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $1 + i32.clz + i32.sub + i32.div_u + i32.const 1 + i32.add return end - global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.mul - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new + i64.extend_i32_s local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 - local.get $2 + local.set $2 i32.const 1 - i32.shl + local.set $1 + loop $while-continue|0 + local.get $0 + local.get $2 + i64.ge_u + if + local.get $0 + local.get $2 + i64.div_u + local.set $0 + local.get $2 + local.get $2 + i64.mul + local.set $2 + local.get $1 + i32.const 1 + i32.shl + local.set $1 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $0 + i64.const 1 + i64.ge_u + if + local.get $0 + local.get $3 + i64.div_u + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|1 + end + end local.get $1 - call $~lib/memory/memory.repeat - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#replace (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 20 i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $4 + ) + (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (local $4 i64) + (local $5 i64) local.get $3 - i32.ge_u + i64.extend_i32_s + local.set $4 + local.get $3 + local.get $3 + i32.const 1 + i32.sub + i32.and if + loop $do-continue|1 + local.get $0 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $4 + local.get $1 + local.get $4 + i64.div_u + local.tee $1 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.const 15824 + i32.add + i32.load16_u + i32.store16 + local.get $1 + i64.const 0 + i64.ne + br_if $do-continue|1 + end + else local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $5 local.get $4 - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer + i64.const 1 + i64.sub + local.set $4 + loop $do-continue|0 local.get $0 - i32.store offset=4 local.get $2 - local.get $0 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add local.get $1 - local.get $0 - call $~lib/string/String.__eq - select - local.set $0 + local.get $4 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.const 15824 + i32.add + i32.load16_u + i32.store16 + local.get $1 + local.get $5 + i64.shr_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add local.get $0 - local.get $1 - i32.const 0 - call $~lib/string/String#indexOf - local.tee $1 - i32.const -1 - i32.xor - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store + i64.const 10000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000 + i64.lt_u + select + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000000 + i64.lt_u + select + local.get $0 + i64.const 1000000000000000 + i64.lt_u + select + ) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) + loop $do-continue|0 + local.get $0 local.get $2 - i32.const 20 + i32.const 1 i32.sub - i32.load offset=16 + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 10 + i64.rem_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store16 + local.get $1 + i64.const 10 + i64.div_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 + end + ) + (func $~lib/util/number/utoa_hex_simple (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i64) + loop $do-continue|0 + local.get $0 + local.get $2 i32.const 1 - i32.shr_u - local.tee $5 - local.get $3 - local.get $4 i32.sub - local.tee $6 + local.tee $2 + i32.const 1 + i32.shl i32.add + local.get $1 + i64.const 15 + i64.and + i64.const 48 + i64.or local.tee $3 + i64.const 39 + i64.const 0 + local.get $3 + i64.const 57 + i64.gt_u + select + i64.add + i64.store16 + local.get $1 + i64.const 4 + i64.shr_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 + end + ) + (func $~lib/util/number/genDigits (param $0 i64) (param $1 i32) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) + (local $6 i64) + (local $7 i32) + (local $8 i64) + (local $9 i32) + (local $10 i64) + (local $11 i64) + local.get $2 + local.get $0 + i64.sub + local.set $8 + local.get $2 + i64.const 1 + i32.const 0 + local.get $3 + i32.sub + local.tee $9 + i64.extend_i32_s + i64.shl + local.tee $10 + i64.const 1 + i64.sub + local.tee $11 + i64.and + local.set $6 + local.get $2 + local.get $9 + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.tee $1 + call $~lib/util/number/decimalCount32 + local.set $7 + loop $while-continue|0 + local.get $7 + i32.const 0 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=8 - local.get $3 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - local.tee $7 - call $~lib/memory/memory.copy - local.get $3 - local.get $7 - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $7 + i32.const 1 + i32.sub + br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 + end + local.get $1 + i32.const 1000000000 + i32.div_u + local.set $3 + local.get $1 + i32.const 1000000000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 100000000 + i32.div_u + local.set $3 + local.get $1 + i32.const 100000000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 10000000 + i32.div_u + local.set $3 + local.get $1 + i32.const 10000000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 1000000 + i32.div_u + local.set $3 + local.get $1 + i32.const 1000000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 100000 + i32.div_u + local.set $3 + local.get $1 + i32.const 100000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 10000 + i32.div_u + local.set $3 + local.get $1 + i32.const 10000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 1000 + i32.div_u + local.set $3 + local.get $1 + i32.const 1000 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 100 + i32.div_u + local.set $3 + local.get $1 + i32.const 100 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + i32.const 10 + i32.div_u + local.set $3 + local.get $1 + i32.const 10 + i32.rem_u + local.set $1 + br $break|1 + end + local.get $1 + local.set $3 + i32.const 0 + local.set $1 + br $break|1 + end + i32.const 0 + local.set $3 + end local.get $3 - local.get $1 local.get $5 - i32.add - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - local.get $4 - i32.add + i32.or + if + local.get $5 + i32.const 1 + i32.shl + i32.const 21408 + i32.add + local.get $3 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 + end + local.get $7 i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $1 i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/string/String#replaceAll (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $3 - i32.store - block $folding-inner0 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - local.get $4 - local.tee $1 - i32.ge_u - if + local.set $7 + local.get $6 local.get $1 - local.get $7 - i32.ge_u + i64.extend_i32_u + local.get $9 + i64.extend_i32_s + i64.shl + i64.add + local.tee $0 + local.get $4 + i64.le_u if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $2 - local.get $0 + local.get $7 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $7 + i32.const 2 + i32.shl + i32.const 22336 + i32.add + i64.load32_u + local.get $9 + i64.extend_i32_s + i64.shl + local.set $2 + local.get $5 + i32.const 1 + i32.shl + i32.const 21406 + i32.add + local.tee $3 + i32.load16_u + local.set $1 + loop $while-continue|3 + i32.const 1 + local.get $8 + local.get $0 + i64.sub + local.get $0 + local.get $2 + i64.add + local.tee $6 + local.get $8 + i64.sub + i64.gt_u + local.get $6 + local.get $8 + i64.lt_u + select + i32.const 0 + local.get $2 + local.get $4 + local.get $0 + i64.sub + i64.le_u + i32.const 0 + local.get $0 + local.get $8 + i64.lt_u + select + select + if + local.get $1 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + local.get $2 + i64.add + local.set $0 + br $while-continue|3 + end + end local.get $3 - local.get $0 - call $~lib/string/String.__eq - select - local.set $0 + local.get $1 + i32.store16 + local.get $5 + return end - br $folding-inner0 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u + end + local.get $9 + i64.extend_i32_s + local.set $0 + loop $while-continue|4 + local.get $4 + i64.const 10 + i64.mul local.set $4 - local.get $7 - i32.eqz - if - local.get $4 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $4 - local.get $1 + local.get $6 + i64.const 10 + i64.mul + local.tee $2 + local.get $0 + i64.shr_u + local.tee $6 + local.get $5 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if + local.get $5 i32.const 1 + i32.shl + i32.const 21408 i32.add - i32.mul + local.get $6 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 + i32.store16 local.get $5 - local.get $2 - local.get $4 i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $4 - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $9 - i32.gt_u - if - local.get $5 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $5 - local.get $3 - i32.const 1 - i32.add - local.tee $3 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $3 - local.get $4 - i32.add - local.set $3 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return + local.set $5 end - local.get $4 local.get $7 - i32.eq + i32.const 1 + i32.sub + local.set $7 + local.get $4 + local.get $2 + local.get $11 + i64.and + local.tee $6 + i64.le_u + br_if $while-continue|4 + end + local.get $7 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $6 + local.set $0 + local.get $8 + i32.const 0 + local.get $7 + i32.sub + i32.const 2 + i32.shl + i32.const 22336 + i32.add + i64.load32_u + i64.mul + local.set $2 + local.get $5 + i32.const 1 + i32.shl + i32.const 21406 + i32.add + local.tee $3 + i32.load16_u + local.set $1 + loop $while-continue|6 + i32.const 1 + local.get $2 + local.get $0 + i64.sub + local.get $0 + local.get $10 + i64.add + local.tee $6 + local.get $2 + i64.sub + i64.gt_u + local.get $2 + local.get $6 + i64.gt_u + select + i32.const 0 + local.get $10 + local.get $4 + local.get $0 + i64.sub + i64.le_u + i32.const 0 + local.get $0 + local.get $2 + i64.lt_u + select + select if - global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 + i32.sub + local.set $1 local.get $0 - local.get $5 - call $~lib/memory/memory.copy - loop $while-continue|1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $0 - local.get $3 - local.get $10 - call $~lib/string/String#indexOf - local.tee $5 - i32.const -1 - i32.xor - if - local.get $1 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $5 - local.get $7 - i32.add - local.set $10 - br $while-continue|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + local.get $10 + i64.add + local.set $0 + br $while-continue|6 end + end + local.get $3 + local.get $1 + i32.store16 + local.get $5 + ) + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $2 + i32.eqz + if + local.get $0 local.get $1 - local.set $5 - loop $while-continue|2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $0 - local.get $3 - local.get $10 - call $~lib/string/String#indexOf - local.tee $9 - i32.const -1 - i32.xor - if - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String.__not - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=12 - end - local.get $5 - local.get $4 - local.get $8 - local.get $9 - local.get $10 - i32.sub - local.tee $6 - i32.add - i32.add - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $11 - local.get $5 - i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $11 - i32.store offset=12 - end - local.get $11 - local.get $8 - i32.const 1 - i32.shl - i32.add + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store + local.get $1 + i32.const 2 + i32.add + return + end + local.get $1 + local.get $2 + i32.add + local.tee $3 + i32.const 21 + i32.le_s + i32.const 0 + local.get $1 + local.get $3 + i32.le_s + select + if (result i32) + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if local.get $0 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $11 - local.get $6 - local.get $8 - i32.add - local.tee $10 + local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $4 + i32.const 48 + i32.store16 + local.get $1 i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $4 - local.get $10 i32.add - local.set $8 - local.get $7 - local.get $9 - i32.add - local.set $10 - br $while-continue|2 + local.set $1 + br $for-loop|0 end end - local.get $11 - if - local.get $5 - local.get $8 - local.get $1 - local.get $10 - i32.sub - local.tee $1 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store + local.get $3 + i32.const 2 + i32.add + else + local.get $3 + i32.const 21 + i32.le_s + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + if (result i32) + local.get $0 + local.get $3 + i32.const 1 + i32.shl i32.add - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $11 - local.get $5 - i32.const 1 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $11 - i32.store offset=12 - end + local.tee $0 + i32.const 2 + i32.add + local.get $0 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 local.get $1 - if - local.get $11 - local.get $8 - i32.const 1 - i32.shl - i32.add + i32.const 1 + i32.add + else + local.get $3 + i32.const 0 + i32.le_s + i32.const 0 + local.get $3 + i32.const -6 + i32.gt_s + select + if (result i32) local.get $0 - local.get $10 + i32.const 2 + local.get $3 + i32.sub + local.tee $3 i32.const 1 i32.shl i32.add + local.get $0 local.get $1 i32.const 1 i32.shl call $~lib/memory/memory.copy - end - local.get $5 - local.get $1 - local.get $8 - i32.add - local.tee $0 - i32.gt_u - if - global.get $~lib/memory/__stack_pointer - local.get $11 local.get $0 + i32.const 3014704 + i32.store + i32.const 2 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 + local.get $3 + i32.add + else + local.get $1 i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $11 - i32.store offset=12 + i32.eq + if (result i32) + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $1 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $2 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $1 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 offset=4 + local.get $0 + i32.const 2 + i32.add + else + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $1 + i32.const 1 + i32.shl + local.tee $2 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $2 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $3 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $2 + i32.const 45 + i32.const 43 + local.get $3 + select + i32.store16 offset=4 + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.add + end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/string/String#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + (func $~lib/util/number/dtoa_core (param $0 f64) (result i32) + (local $1 i64) + (local $2 i32) + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i64) + (local $11 i64) local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select + f64.const 0 + f64.lt + local.tee $8 + if (result f64) + i32.const 21408 + i32.const 45 + i32.store16 + local.get $0 + f64.neg else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select + local.get $0 end - local.set $1 - local.get $2 + i64.reinterpret_f64 + local.tee $3 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $6 i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select - end + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $3 + i64.const 4503599627370495 + i64.and + i64.add + local.tee $1 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $3 + i64.clz + i32.wrap_i64 + local.set $2 + local.get $3 + local.get $2 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus + local.get $6 + i32.const 1 + local.get $6 + select + i32.const 1075 + i32.sub + local.tee $6 + i32.const 1 + i32.sub + local.get $2 + i32.sub + local.set $2 local.get $1 + local.get $1 + i64.const 4503599627370496 + i64.eq + i32.const 1 + i32.add + local.tee $7 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $6 + local.get $7 + i32.sub + local.get $2 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $2 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.tee $0 + i32.trunc_f64_s local.tee $2 - i32.const 0 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - global.get $~lib/memory/__stack_pointer + local.get $0 local.get $2 + f64.convert_i32_s + f64.ne + i32.add + i32.const 3 + i32.shr_s i32.const 1 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new + i32.add local.tee $2 - i32.store offset=4 + i32.const 3 + i32.shl + local.tee $7 + i32.sub + global.set $~lib/util/number/_K + local.get $7 + i32.const 21464 + i32.add + i64.load + global.set $~lib/util/number/_frc_pow local.get $2 - local.get $0 - local.get $1 i32.const 1 i32.shl + i32.const 22160 + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + global.get $~lib/util/number/_frc_pow + local.tee $4 + i64.const 32 + i64.shr_u + local.set $3 + local.get $4 + i64.const 4294967295 + i64.and + local.tee $4 + global.get $~lib/util/number/_frc_plus + local.tee $5 + i64.const 32 + i64.shr_u + local.tee $10 + i64.mul + local.get $4 + local.get $5 + i64.const 4294967295 + i64.and + local.tee $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $5 + local.get $8 + i32.const 1 + i32.shl + i32.const 21408 i32.add local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#substr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select + local.get $1 + local.get $1 + i64.clz + i32.wrap_i64 local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $3 + i64.extend_i32_s + i64.shl + local.tee $1 + i64.const 32 + i64.shr_u + local.tee $9 + i64.mul + local.get $4 + local.get $9 + i64.mul + local.get $4 local.get $1 - i32.const 0 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $1 - end + i64.const 4294967295 + i64.and + local.tee $1 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $9 + i64.const 32 + i64.shr_u + i64.add local.get $1 - i32.sub - local.tee $3 - local.get $2 local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $2 - i32.const 0 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - global.get $~lib/memory/__stack_pointer + i64.mul + local.get $9 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + global.get $~lib/util/number/_exp_pow + local.tee $7 + local.get $6 local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 + i32.sub + i32.add + i32.const -64 + i32.sub local.get $3 - local.get $0 + local.get $10 + i64.mul + local.get $5 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $11 + i64.mul + local.get $5 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.sub + local.tee $1 + local.get $7 + global.get $~lib/util/number/_exp + i32.add + i32.const -64 + i32.sub local.get $1 - i32.const 1 - i32.shl + local.get $3 + global.get $~lib/util/number/_frc_minus + local.tee $1 + i64.const 32 + i64.shr_u + local.tee $5 + i64.mul + local.get $4 + local.get $5 + i64.mul + local.get $4 + local.get $1 + i64.const 4294967295 + i64.and + local.tee $4 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $1 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $4 + i64.mul + local.get $1 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.add + i64.sub + local.get $8 + call $~lib/util/number/genDigits + local.get $8 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.get $8 i32.add - local.get $2 - call $~lib/memory/memory.copy + ) + (func $std/string/getString (result i32) + global.get $std/string/str + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $invalid + block $~lib/array/Array<~lib/string/String> + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load offset=4 + local.tee $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $3 + if + local.get $3 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + unreachable + ) + (func $~start + call $start:std/string + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + i32.const 24428 + i32.lt_s + if + i32.const 40832 + i32.const 40880 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $3 + i32.const 2208 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $3 - i32.gt_s - select - local.tee $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - local.get $2 - local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - local.get $2 - local.get $2 - local.get $3 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $2 - i32.sub - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - i32.const 0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - local.get $2 select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 + local.tee $0 + i32.store local.get $0 - local.get $2 - i32.add - local.get $3 - call $~lib/memory/memory.copy + local.get $1 + call $~lib/string/String#concat global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $~lib/string/String#split (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8536,7 +6530,7 @@ (local $9 i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -8549,9 +6543,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=24 block $folding-inner2 block $folding-inner1 block $folding-inner0 @@ -8584,26 +6575,20 @@ local.set $0 br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + local.set $3 i32.const 2147483647 local.get $2 local.get $2 i32.const 0 i32.lt_s select - local.set $6 + local.set $7 local.get $1 i32.const 20 i32.sub @@ -8614,7 +6599,7 @@ local.set $8 local.get $2 if - local.get $4 + local.get $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -8631,17 +6616,17 @@ br $folding-inner1 end else - local.get $4 + local.get $3 i32.eqz br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $6 - local.get $4 - local.get $6 + local.get $3 + local.get $7 + local.get $3 + local.get $7 i32.lt_s select - local.tee $5 + local.tee $4 i32.const 4 i32.const 0 call $~lib/rt/__newArray @@ -8649,28 +6634,28 @@ i32.store local.get $1 i32.load offset=4 - local.set $4 + local.set $3 loop $for-loop|0 - local.get $3 + local.get $4 local.get $5 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=12 + i32.store offset=8 local.get $2 local.get $0 - local.get $3 + local.get $5 i32.const 1 i32.shl i32.add i32.load16_u i32.store16 - local.get $4 local.get $3 + local.get $5 i32.const 2 i32.shl i32.add @@ -8680,15 +6665,15 @@ local.get $2 i32.const 1 call $~lib/rt/itcms/__link - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -8700,59 +6685,44 @@ i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store offset=16 + i32.store offset=12 loop $while-continue|1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 local.get $0 local.get $1 - local.get $5 + local.get $4 call $~lib/string/String#indexOf - local.tee $7 + local.tee $5 i32.const -1 i32.xor if - local.get $7 local.get $5 + local.get $4 i32.sub - local.tee $3 + local.tee $6 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $6 i32.const 1 i32.shl local.tee $9 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=24 - local.get $3 + local.tee $6 + i32.store offset=16 + local.get $6 local.get $0 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add local.get $9 call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 local.get $2 - local.get $3 + local.get $6 call $~lib/array/Array<~lib/string/String>#push else - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=20 @@ -8764,32 +6734,26 @@ i32.const 1 i32.add local.tee $10 - local.get $6 + local.get $7 i32.eq br_if $folding-inner2 - local.get $7 + local.get $5 local.get $8 i32.add - local.set $5 + local.set $4 br $while-continue|1 end end - local.get $5 + local.get $4 i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 local.get $2 local.get $0 call $~lib/array/Array<~lib/string/String>#push br $folding-inner2 end + local.get $3 local.get $4 - local.get $5 i32.sub local.tee $1 i32.const 0 @@ -8799,32 +6763,23 @@ local.get $1 i32.const 1 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store offset=4 local.get $1 local.get $0 - local.get $5 + local.get $4 i32.const 1 i32.shl i32.add - local.get $4 + local.get $3 call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 local.get $2 local.get $1 call $~lib/array/Array<~lib/string/String>#push else - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 1712 i32.store offset=20 @@ -8833,7 +6788,7 @@ call $~lib/array/Array<~lib/string/String>#push end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -8846,14 +6801,14 @@ local.set $0 end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer local.get $0 return end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -8865,7 +6820,6 @@ (local $3 i32) (local $4 i32) (local $5 f32) - (local $6 i64) global.get $~lib/memory/__stack_pointer i32.const 44 i32.sub @@ -8978,18 +6932,8 @@ global.get $std/string/str local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - block $__inlined_func$~lib/string/String#charCodeAt + block $__inlined_func$~lib/string/String#charCodeAt (result i32) + i32.const -1 local.get $0 i32.const 20 i32.sub @@ -8997,24 +6941,11 @@ i32.const 1 i32.shr_u i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - local.set $0 - br $__inlined_func$~lib/string/String#charCodeAt - end + br_if $__inlined_func$~lib/string/String#charCodeAt + drop local.get $0 - i32.load16_u - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load16_u end - local.get $0 i32.const 104 i32.ne if @@ -9029,78 +6960,52 @@ global.get $std/string/str local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $1 i32.const 20 i32.sub i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 - local.set $0 + local.tee $0 + local.set $3 block $__inlined_func$~lib/string/String#codePointAt - local.get $3 + local.get $0 i32.const 1 i32.le_u if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 br $__inlined_func$~lib/string/String#codePointAt end - block $folding-inner0 - i32.const 1 - local.get $0 - i32.const 2 - i32.eq - local.get $1 - i32.load16_u offset=2 - local.tee $0 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - select - br_if $folding-inner0 - local.get $1 - i32.load16_u offset=4 - local.tee $1 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.const 10 - i32.shl - i32.add - i32.const 56613888 - i32.sub - local.set $0 - br $__inlined_func$~lib/string/String#codePointAt - end - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 1 + local.get $3 + i32.const 2 + i32.eq + local.get $1 + i32.load16_u offset=2 + local.tee $0 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + select + br_if $__inlined_func$~lib/string/String#codePointAt + local.get $1 + i32.load16_u offset=4 + local.tee $1 + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + br_if $__inlined_func$~lib/string/String#codePointAt + local.get $1 + local.get $0 + i32.const 10 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.const 56613888 + i32.sub + local.set $0 end local.get $0 i32.const 105 @@ -9137,23 +7042,23 @@ local.get $0 i32.const 15 call $~lib/string/String#at - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=8 - local.get $0 + local.get $1 i32.const 15 call $~lib/string/String#charAt - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $1 + i32.store offset=4 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -9171,9 +7076,9 @@ local.get $0 i32.const -1 call $~lib/string/String#at - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str @@ -9181,10 +7086,10 @@ i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $3 i32.store offset=12 local.get $1 - local.get $0 + local.get $3 i32.const 20 i32.sub i32.load offset=16 @@ -9193,12 +7098,12 @@ i32.const 1 i32.sub call $~lib/string/String#charAt - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 - local.get $3 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -9211,15 +7116,15 @@ end global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 + local.tee $0 i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=12 - local.get $1 - i32.const 0 local.get $0 + i32.const 0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -9558,41 +7463,31 @@ i32.const 2176 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 2176 - i32.store offset=4 + i32.store i32.const 2172 i32.load i32.const 1 i32.shr_u - local.tee $1 - local.set $3 + local.tee $3 + local.set $4 block $__inlined_func$~lib/string/String#startsWith - local.get $4 - local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $3 i32.const 0 - local.get $4 - local.get $4 + local.get $1 + local.get $1 i32.const 0 i32.gt_s select @@ -9601,28 +7496,22 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 br $__inlined_func$~lib/string/String#startsWith end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2176 - i32.store offset=8 local.get $0 local.get $1 i32.const 2176 - local.get $3 + local.get $4 call $~lib/util/string/compareImpl i32.eqz local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end @@ -9643,99 +7532,52 @@ global.get $~lib/memory/__stack_pointer i32.const 2240 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 2240 - i32.store - i32.const 2236 - i32.load - i32.const 1 - i32.shr_u - local.tee $1 - local.set $3 - block $__inlined_func$~lib/string/String#endsWith + block $__inlined_func$~lib/string/String#endsWith (result i32) + i32.const 2236 + i32.load + i32.const 1 + i32.shr_u + local.tee $1 + local.set $3 + i32.const 0 i32.const 536870910 - local.get $4 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 local.get $4 i32.const 536870910 - i32.gt_s + i32.gt_u select local.get $1 i32.sub local.tee $1 i32.const 0 - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 2240 - i32.store offset=4 - local.get $0 - local.get $1 - i32.const 2240 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#endsWith - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 + i32.lt_s + br_if $__inlined_func$~lib/string/String#endsWith + drop + local.get $0 + local.get $1 + i32.const 2240 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz end - local.get $0 i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 39 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 2272 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + if + i32.const 0 + i32.const 1120 + i32.const 39 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $std/string/str + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer i32.const 2272 @@ -9745,12 +7587,7 @@ i32.const 0 call $~lib/string/String#indexOf i32.const -1 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz + i32.eq if i32.const 0 i32.const 1120 @@ -9770,16 +7607,16 @@ i32.const 0 i32.const 2304 call $~lib/string/String#padStart - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $1 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -9801,16 +7638,16 @@ i32.const 15 i32.const 2304 call $~lib/string/String#padStart - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $1 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -10006,16 +7843,16 @@ i32.const 0 i32.const 2304 call $~lib/string/String#padEnd - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $1 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -10037,16 +7874,16 @@ i32.const 15 i32.const 2304 call $~lib/string/String#padEnd - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $1 local.get $0 + local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -10289,14 +8126,14 @@ end global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store offset=4 - local.get $1 local.get $0 + local.get $1 i32.const 0 call $~lib/string/String#indexOf if @@ -10482,9 +8319,9 @@ call $~lib/string/String#lastIndexOf global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $0 + local.tee $1 i32.store - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load offset=16 @@ -11072,7 +8909,7 @@ i32.store i32.const 3056 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 0 f64.ne if @@ -11088,7 +8925,7 @@ i32.store i32.const 3088 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 0 f64.ne if @@ -11104,7 +8941,7 @@ i32.store i32.const 3120 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11120,7 +8957,7 @@ i32.store i32.const 3152 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11136,7 +8973,7 @@ i32.store i32.const 3184 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 5 f64.ne if @@ -11152,7 +8989,7 @@ i32.store i32.const 3216 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 455 f64.ne if @@ -11168,7 +9005,7 @@ i32.store i32.const 3248 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 3855 f64.ne if @@ -11184,7 +9021,7 @@ i32.store i32.const 3280 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 3855 f64.ne if @@ -11200,7 +9037,7 @@ i32.store i32.const 3312 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 11 f64.ne if @@ -11216,7 +9053,7 @@ i32.store i32.const 3344 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11232,7 +9069,7 @@ i32.store i32.const 3376 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const -123 f64.ne if @@ -11248,7 +9085,7 @@ i32.store i32.const 3408 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 123 f64.ne if @@ -11264,7 +9101,7 @@ i32.store i32.const 3440 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const -12 f64.ne if @@ -11280,7 +9117,7 @@ i32.store i32.const 3056 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 0 f64.ne if @@ -11296,7 +9133,7 @@ i32.store i32.const 3472 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 0 f64.ne if @@ -11312,7 +9149,7 @@ i32.store i32.const 3504 i32.const 16 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 2833 f64.ne if @@ -11328,7 +9165,7 @@ i32.store i32.const 3536 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11344,7 +9181,7 @@ i32.store i32.const 3568 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11360,7 +9197,7 @@ i32.store i32.const 3600 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11376,7 +9213,7 @@ i32.store i32.const 3632 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -11394,14 +9231,14 @@ i32.store i32.const 3664 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.set $2 global.get $~lib/memory/__stack_pointer i32.const 3712 i32.store i32.const 3712 i32.const 16 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.get $2 f64.ne if @@ -11417,7 +9254,7 @@ i32.store i32.const 3744 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 36893488147419103232 f64.ne if @@ -11433,7 +9270,7 @@ i32.store i32.const 3744 i32.const 13 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 5135857308667095285760 f64.ne if @@ -11449,7 +9286,7 @@ i32.store i32.const 3808 i32.const 10 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const -1.e+24 f64.ne if @@ -11465,7 +9302,7 @@ i32.store i32.const 3888 i32.const 16 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 75557863725914323419136 f64.ne if @@ -11481,7 +9318,7 @@ i32.store i32.const 3952 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11497,7 +9334,7 @@ i32.store i32.const 3984 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 2 f64.ne if @@ -11513,7 +9350,7 @@ i32.store i32.const 4032 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 1 f64.ne if @@ -11529,7 +9366,7 @@ i32.store i32.const 4064 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol f64.const 2 f64.ne if @@ -11545,7 +9382,7 @@ i32.store i32.const 1712 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11562,7 +9399,7 @@ i32.store i32.const 4112 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11579,7 +9416,7 @@ i32.store i32.const 4144 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11596,7 +9433,7 @@ i32.store i32.const 2432 i32.const 37 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11613,7 +9450,7 @@ i32.store i32.const 4176 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11630,7 +9467,7 @@ i32.store i32.const 4208 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11645,27 +9482,11 @@ global.get $~lib/memory/__stack_pointer i32.const 4208 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4208 - i32.store i32.const 4208 i32.const 0 call $~lib/util/string/strtol f32.demote_f64 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 + local.tee $5 local.get $5 f32.eq if @@ -11681,7 +9502,7 @@ i32.store i32.const 4208 i32.const 0 - call $~lib/string/parseInt + call $~lib/util/string/strtol local.tee $2 local.get $2 f64.eq @@ -11696,22 +9517,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4240 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store call $~lib/util/string/strtol - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 2147483647 i32.ne if @@ -11725,22 +9531,7 @@ global.get $~lib/memory/__stack_pointer i32.const 4288 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4288 - i32.store call $~lib/util/string/strtol - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i64.const 9223372036854775807 i64.ne if @@ -11755,7 +9546,7 @@ i32.const 3056 i32.store i32.const 3056 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -11770,7 +9561,7 @@ i32.const 3120 i32.store i32.const 3120 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -11785,7 +9576,7 @@ i32.const 4544 i32.store i32.const 4544 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -11800,7 +9591,7 @@ i32.const 4576 i32.store i32.const 4576 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -11815,7 +9606,7 @@ i32.const 4608 i32.store i32.const 4608 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-05 f64.ne if @@ -11830,7 +9621,7 @@ i32.const 4640 i32.store i32.const 4640 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1e-05 f64.ne if @@ -11845,7 +9636,7 @@ i32.const 4672 i32.store i32.const 4672 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -3e-23 f64.ne if @@ -11860,7 +9651,7 @@ i32.const 4720 i32.store i32.const 4720 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 3e21 f64.ne if @@ -11875,7 +9666,7 @@ i32.const 4768 i32.store i32.const 4768 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -11890,7 +9681,7 @@ i32.const 4800 i32.store i32.const 4800 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -11905,7 +9696,7 @@ i32.const 4832 i32.store i32.const 4832 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -11920,7 +9711,7 @@ i32.const 4864 i32.store i32.const 4864 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.25 f64.ne if @@ -11935,7 +9726,7 @@ i32.const 4896 i32.store i32.const 4896 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e3 f64.ne if @@ -11950,7 +9741,7 @@ i32.const 4928 i32.store i32.const 4928 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-10 f64.ne if @@ -11965,7 +9756,7 @@ i32.const 4976 i32.store i32.const 4976 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-30 f64.ne if @@ -11980,7 +9771,7 @@ i32.const 5024 i32.store i32.const 5024 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-323 f64.ne if @@ -11995,7 +9786,7 @@ i32.const 5072 i32.store i32.const 5072 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12010,7 +9801,7 @@ i32.const 5120 i32.store i32.const 5120 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+308 f64.ne if @@ -12025,7 +9816,7 @@ i32.const 5152 i32.store i32.const 5152 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -12040,7 +9831,7 @@ i32.const 1712 i32.store i32.const 1712 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12056,7 +9847,7 @@ i32.const 5184 i32.store i32.const 5184 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -12071,7 +9862,7 @@ i32.const 5232 i32.store i32.const 5232 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-10 f64.ne if @@ -12086,7 +9877,7 @@ i32.const 5280 i32.store i32.const 5280 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12101,7 +9892,7 @@ i32.const 5328 i32.store i32.const 5328 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12116,7 +9907,7 @@ i32.const 5360 i32.store i32.const 5360 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12131,7 +9922,7 @@ i32.const 5392 i32.store i32.const 5392 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12146,7 +9937,7 @@ i32.const 5440 i32.store i32.const 5440 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 123456789 f64.ne if @@ -12161,7 +9952,7 @@ i32.const 5488 i32.store i32.const 5488 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12176,7 +9967,7 @@ i32.const 5536 i32.store i32.const 5536 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-60 f64.ne if @@ -12191,7 +9982,7 @@ i32.const 5568 i32.store i32.const 5568 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+60 f64.ne if @@ -12206,7 +9997,7 @@ i32.const 5600 i32.store i32.const 5600 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 123.4 f64.ne if @@ -12221,7 +10012,7 @@ i32.const 5632 i32.store i32.const 5632 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -0 f64.ne if @@ -12236,7 +10027,7 @@ i32.const 5680 i32.store i32.const 5680 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12251,7 +10042,7 @@ i32.const 5712 i32.store i32.const 5712 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1.1 f64.ne if @@ -12266,7 +10057,7 @@ i32.const 5760 i32.store i32.const 5760 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12281,7 +10072,7 @@ i32.const 5808 i32.store i32.const 5808 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12296,7 +10087,7 @@ i32.const 5856 i32.store i32.const 5856 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.022 f64.ne if @@ -12311,7 +10102,7 @@ i32.const 5904 i32.store i32.const 5904 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 11 f64.ne if @@ -12326,7 +10117,7 @@ i32.const 3472 i32.store i32.const 3472 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12341,7 +10132,7 @@ i32.const 5936 i32.store i32.const 5936 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12356,7 +10147,7 @@ i32.const 5968 i32.store i32.const 5968 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12371,7 +10162,7 @@ i32.const 6000 i32.store i32.const 6000 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.1 f64.ne if @@ -12386,7 +10177,7 @@ i32.const 6032 i32.store i32.const 6032 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1.1 f64.ne if @@ -12401,7 +10192,7 @@ i32.const 6064 i32.store i32.const 6064 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1.1 f64.ne if @@ -12416,7 +10207,7 @@ i32.const 6096 i32.store i32.const 6096 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1.1 f64.ne if @@ -12431,7 +10222,7 @@ i32.const 6128 i32.store i32.const 6128 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -1.1 f64.ne if @@ -12446,7 +10237,7 @@ i32.const 6160 i32.store i32.const 6160 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12461,7 +10252,7 @@ i32.const 6192 i32.store i32.const 6192 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12476,7 +10267,7 @@ i32.const 6224 i32.store i32.const 6224 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12491,7 +10282,7 @@ i32.const 6256 i32.store i32.const 6256 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12506,7 +10297,7 @@ i32.const 6288 i32.store i32.const 6288 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12521,7 +10312,7 @@ i32.const 6320 i32.store i32.const 6320 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12536,7 +10327,7 @@ i32.const 6352 i32.store i32.const 6352 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12551,7 +10342,7 @@ i32.const 6400 i32.store i32.const 6400 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12566,7 +10357,7 @@ i32.const 6432 i32.store i32.const 6432 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12581,7 +10372,7 @@ i32.const 6464 i32.store i32.const 6464 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -12596,7 +10387,7 @@ i32.const 6496 i32.store i32.const 6496 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12611,7 +10402,7 @@ i32.const 6528 i32.store i32.const 6528 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 10 f64.ne if @@ -12626,7 +10417,7 @@ i32.const 6560 i32.store i32.const 6560 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12641,7 +10432,7 @@ i32.const 6592 i32.store i32.const 6592 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -12656,7 +10447,7 @@ i32.const 6624 i32.store i32.const 6624 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.01 f64.ne if @@ -12671,7 +10462,7 @@ i32.const 6672 i32.store i32.const 6672 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12686,7 +10477,7 @@ i32.const 6704 i32.store i32.const 6704 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12701,7 +10492,7 @@ i32.const 6736 i32.store i32.const 6736 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12716,7 +10507,7 @@ i32.const 6768 i32.store i32.const 6768 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -12731,7 +10522,7 @@ i32.const 6800 i32.store i32.const 6800 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12746,7 +10537,7 @@ i32.const 6832 i32.store i32.const 6832 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12761,7 +10552,7 @@ i32.const 6864 i32.store i32.const 6864 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -12776,7 +10567,7 @@ i32.const 6896 i32.store i32.const 6896 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -12791,7 +10582,7 @@ i32.const 6928 i32.store i32.const 6928 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12806,7 +10597,7 @@ i32.const 6960 i32.store i32.const 6960 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12821,7 +10612,7 @@ i32.const 6992 i32.store i32.const 6992 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -0 f64.ne if @@ -12836,7 +10627,7 @@ i32.const 7024 i32.store i32.const 7024 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12851,7 +10642,7 @@ i32.const 3632 i32.store i32.const 3632 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -12866,7 +10657,7 @@ i32.const 4144 i32.store i32.const 4144 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12882,7 +10673,7 @@ i32.const 4112 i32.store i32.const 4112 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12898,7 +10689,7 @@ i32.const 7056 i32.store i32.const 7056 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12914,7 +10705,7 @@ i32.const 7088 i32.store i32.const 7088 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12930,7 +10721,7 @@ i32.const 7120 i32.store i32.const 7120 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12946,7 +10737,7 @@ i32.const 7152 i32.store i32.const 7152 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12962,7 +10753,7 @@ i32.const 7184 i32.store i32.const 7184 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12978,7 +10769,7 @@ i32.const 7216 i32.store i32.const 7216 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -12994,7 +10785,7 @@ i32.const 7248 i32.store i32.const 7248 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13010,7 +10801,7 @@ i32.const 7280 i32.store i32.const 7280 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13026,7 +10817,7 @@ i32.const 7312 i32.store i32.const 7312 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13042,7 +10833,7 @@ i32.const 7344 i32.store i32.const 7344 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13058,7 +10849,7 @@ i32.const 7376 i32.store i32.const 7376 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13074,7 +10865,7 @@ i32.const 7408 i32.store i32.const 7408 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13090,7 +10881,7 @@ i32.const 7440 i32.store i32.const 7440 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13106,7 +10897,7 @@ i32.const 7472 i32.store i32.const 7472 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13122,7 +10913,7 @@ i32.const 7504 i32.store i32.const 7504 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e22 f64.ne if @@ -13137,7 +10928,7 @@ i32.const 7536 i32.store i32.const 7536 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-22 f64.ne if @@ -13152,7 +10943,7 @@ i32.const 7568 i32.store i32.const 7568 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+23 f64.ne if @@ -13167,7 +10958,7 @@ i32.const 7600 i32.store i32.const 7600 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-23 f64.ne if @@ -13182,7 +10973,7 @@ i32.const 7632 i32.store i32.const 7632 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+37 f64.ne if @@ -13197,7 +10988,7 @@ i32.const 7664 i32.store i32.const 7664 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-37 f64.ne if @@ -13212,7 +11003,7 @@ i32.const 7696 i32.store i32.const 7696 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+38 f64.ne if @@ -13227,7 +11018,7 @@ i32.const 7728 i32.store i32.const 7728 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-38 f64.ne if @@ -13242,7 +11033,7 @@ i32.const 7760 i32.store i32.const 7760 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 2.220446049250313e-16 f64.ne if @@ -13257,7 +11048,7 @@ i32.const 7824 i32.store i32.const 7824 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1797693134862315708145274e284 f64.ne if @@ -13272,7 +11063,7 @@ i32.const 7904 i32.store i32.const 7904 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 5e-324 f64.ne if @@ -13287,7 +11078,7 @@ i32.const 7936 i32.store i32.const 7936 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1.e+308 f64.ne if @@ -13302,7 +11093,7 @@ i32.const 7984 i32.store i32.const 7984 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1 f64.ne if @@ -13317,7 +11108,7 @@ i32.const 8128 i32.store i32.const 8128 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -13332,7 +11123,7 @@ i32.const 8176 i32.store i32.const 8176 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13347,7 +11138,7 @@ i32.const 8224 i32.store i32.const 8224 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -13362,7 +11153,7 @@ i32.const 8272 i32.store i32.const 8272 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -inf f64.ne if @@ -13377,7 +11168,7 @@ i32.const 8320 i32.store i32.const 8320 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -13392,7 +11183,7 @@ i32.const 8368 i32.store i32.const 8368 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13407,7 +11198,7 @@ i32.const 8416 i32.store i32.const 8416 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13422,7 +11213,7 @@ i32.const 8448 i32.store i32.const 8448 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13437,7 +11228,7 @@ i32.const 8496 i32.store i32.const 8496 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13452,7 +11243,7 @@ i32.const 8544 i32.store i32.const 8544 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const -inf f64.ne if @@ -13467,7 +11258,7 @@ i32.const 8592 i32.store i32.const 8592 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13482,7 +11273,7 @@ i32.const 8640 i32.store i32.const 8640 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const inf f64.ne if @@ -13497,7 +11288,7 @@ i32.const 8688 i32.store i32.const 8688 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13513,7 +11304,7 @@ i32.const 8720 i32.store i32.const 8720 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13529,7 +11320,7 @@ i32.const 8768 i32.store i32.const 8768 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -13545,7 +11336,7 @@ i32.const 8816 i32.store i32.const 8816 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0 f64.ne if @@ -13560,7 +11351,7 @@ i32.const 9008 i32.store i32.const 9008 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1e-323 f64.ne if @@ -13575,7 +11366,7 @@ i32.const 9200 i32.store i32.const 9200 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 2.225073858507202e-308 f64.ne if @@ -13630,7 +11421,7 @@ local.get $0 i32.store local.get $0 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1797693134862315708145274e284 f64.ne if @@ -13645,7 +11436,7 @@ i32.const 10192 i32.store i32.const 10192 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 9.753531888799502e-104 f64.ne if @@ -13660,7 +11451,7 @@ i32.const 10304 i32.store i32.const 10304 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.5961860348131807 f64.ne if @@ -13675,7 +11466,7 @@ i32.const 10416 i32.store i32.const 10416 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.18150131692180388 f64.ne if @@ -13690,7 +11481,7 @@ i32.const 10528 i32.store i32.const 10528 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.42070823575344535 f64.ne if @@ -13705,7 +11496,7 @@ i32.const 10640 i32.store i32.const 10640 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.6654686306516261 f64.ne if @@ -13720,7 +11511,7 @@ i32.const 10752 i32.store i32.const 10752 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.6101852922970868 f64.ne if @@ -13735,7 +11526,7 @@ i32.const 10864 i32.store i32.const 10864 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.7696695208236968 f64.ne if @@ -13750,7 +11541,7 @@ i32.const 10976 i32.store i32.const 10976 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.25050653222286823 f64.ne if @@ -13765,7 +11556,7 @@ i32.const 11088 i32.store i32.const 11088 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.2740037230228005 f64.ne if @@ -13780,7 +11571,7 @@ i32.const 11200 i32.store i32.const 11200 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.20723093500497428 f64.ne if @@ -13795,7 +11586,7 @@ i32.const 11312 i32.store i32.const 11312 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 7.900280238081605 f64.ne if @@ -13810,7 +11601,7 @@ i32.const 11424 i32.store i32.const 11424 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 98.22860653737297 f64.ne if @@ -13825,7 +11616,7 @@ i32.const 11536 i32.store i32.const 11536 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 746.894972319037 f64.ne if @@ -13840,7 +11631,7 @@ i32.const 11648 i32.store i32.const 11648 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 1630.2683202827284 f64.ne if @@ -13855,7 +11646,7 @@ i32.const 11760 i32.store i32.const 11760 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 46371.68629719171 f64.ne if @@ -13870,7 +11661,7 @@ i32.const 11872 i32.store i32.const 11872 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 653780.5944497711 f64.ne if @@ -13885,7 +11676,7 @@ i32.const 11984 i32.store i32.const 11984 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 234632.43565024371 f64.ne if @@ -13900,7 +11691,7 @@ i32.const 12096 i32.store i32.const 12096 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 97094817.16420048 f64.ne if @@ -13915,7 +11706,7 @@ i32.const 12208 i32.store i32.const 12208 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 499690852.20518744 f64.ne if @@ -13930,7 +11721,7 @@ i32.const 12320 i32.store i32.const 12320 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 7925201200557245595648 f64.ne if @@ -13945,7 +11736,7 @@ i32.const 12432 i32.store i32.const 12432 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 6096564585983177528398588e5 f64.ne if @@ -13960,7 +11751,7 @@ i32.const 12544 i32.store i32.const 12544 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 4800416117477028695992383e42 f64.ne if @@ -13975,7 +11766,7 @@ i32.const 12656 i32.store i32.const 12656 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 8524829079817968137287277e80 f64.ne if @@ -13990,7 +11781,7 @@ i32.const 12768 i32.store i32.const 12768 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 3271239291709782092398754e243 f64.ne if @@ -14005,7 +11796,7 @@ i32.const 12880 i32.store i32.const 12880 - call $~lib/string/parseFloat + call $~lib/util/string/strtod local.tee $2 local.get $2 f64.eq @@ -14021,7 +11812,7 @@ i32.const 12912 i32.store i32.const 12912 - call $~lib/string/parseFloat + call $~lib/util/string/strtod f64.const 0.1 f64.ne if @@ -14045,9 +11836,6 @@ local.tee $0 i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 12976 i32.store offset=4 local.get $0 @@ -14063,15 +11851,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 local.get $0 i32.const 1808 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14106,8 +11890,7 @@ i32.store offset=4 i32.const 1712 i32.const 0 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14124,8 +11907,7 @@ i32.store offset=4 i32.const 0 i32.const 1712 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14142,8 +11924,7 @@ i32.store offset=4 i32.const 1808 i32.const 12944 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14178,8 +11959,7 @@ i32.store offset=4 i32.const 13008 i32.const 13040 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14214,8 +11994,7 @@ i32.store offset=4 i32.const 13072 i32.const 13104 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14232,8 +12011,7 @@ i32.store offset=4 i32.const 13136 i32.const 13168 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14268,8 +12046,7 @@ i32.store offset=4 i32.const 13200 i32.const 13248 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14286,8 +12063,7 @@ i32.store offset=4 i32.const 13296 i32.const 13344 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14340,8 +12116,7 @@ i32.store offset=4 i32.const 13392 i32.const 13424 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__lt if i32.const 0 i32.const 1120 @@ -14463,8 +12238,7 @@ i32.store offset=4 i32.const 2368 i32.const 1712 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__lt if i32.const 0 i32.const 1120 @@ -14481,8 +12255,7 @@ i32.store offset=4 i32.const 1712 i32.const 2368 - call $~lib/string/String.__lte - i32.eqz + call $~lib/string/String.__gt if i32.const 0 i32.const 1120 @@ -14567,8 +12340,7 @@ i32.store offset=4 i32.const 1712 i32.const 1712 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__lt if i32.const 0 i32.const 1120 @@ -14585,8 +12357,7 @@ i32.store offset=4 i32.const 1712 i32.const 1712 - call $~lib/string/String.__lte - i32.eqz + call $~lib/string/String.__gt if i32.const 0 i32.const 1120 @@ -14743,8 +12514,7 @@ i32.store offset=4 i32.const 13488 i32.const 13488 - call $~lib/string/String.__lte - i32.eqz + call $~lib/string/String.__gt if i32.const 0 i32.const 1120 @@ -14761,8 +12531,7 @@ i32.store offset=4 i32.const 13488 i32.const 13488 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__lt if i32.const 0 i32.const 1120 @@ -14779,7 +12548,8 @@ i32.store offset=4 i32.const 13456 i32.const 13520 - call $~lib/string/String.__gte + call $~lib/string/String.__lt + i32.eqz if i32.const 0 i32.const 1120 @@ -14796,8 +12566,7 @@ i32.store offset=4 i32.const 13520 i32.const 13456 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__lt if i32.const 0 i32.const 1120 @@ -14814,8 +12583,7 @@ i32.store offset=4 i32.const 13456 i32.const 13520 - call $~lib/string/String.__lte - i32.eqz + call $~lib/string/String.__gt if i32.const 0 i32.const 1120 @@ -14886,8 +12654,7 @@ i32.store offset=4 i32.const 2432 i32.const 13552 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14922,8 +12689,7 @@ i32.store offset=4 i32.const 13616 i32.const 13584 - call $~lib/string/String.__ne - i32.eqz + call $~lib/string/String.__eq if i32.const 0 i32.const 1120 @@ -14935,14 +12701,14 @@ global.get $~lib/memory/__stack_pointer i32.const 65377 call $~lib/string/String.fromCodePoint - local.tee $4 + local.tee $3 i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 55296 call $~lib/string/String.fromCodePoint - local.set $3 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $0 i32.store i32.const 56322 call $~lib/string/String.fromCodePoint @@ -14950,18 +12716,12 @@ global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - local.get $3 + local.get $0 local.get $1 call $~lib/string/String.__concat local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $4 + local.get $3 local.get $0 call $~lib/string/String.__gt i32.eqz @@ -17171,17 +14931,11 @@ call $~lib/string/String#split local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 i32.const 1 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get @@ -17220,55 +14974,243 @@ call $~lib/string/String#split local.tee $0 i32.store offset=40 + local.get $0 + i32.load offset=12 + if + i32.const 0 + i32.const 1120 + i32.const 512 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2656 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.const 2656 + i32.const 2147483647 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + i32.load offset=12 + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 514 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + i32.const 15424 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7184 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15424 + i32.const 7184 + i32.const 2147483647 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 local.get $0 + i32.load offset=12 + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 15424 + i32.store offset=4 + local.get $0 + i32.const 15424 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 516 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15424 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2656 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15424 + i32.const 2656 + i32.const 2147483647 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 local.get $0 i32.load offset=12 + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store offset=4 + local.get $1 + i32.const 1808 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12944 + i32.store offset=4 + local.get $1 + i32.const 12944 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 14048 + i32.store offset=4 + local.get $0 + i32.const 14048 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz if i32.const 0 i32.const 1120 - i32.const 512 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 15456 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2656 + i32.const 15504 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.const 2656 + i32.const 15456 + i32.const 15504 i32.const 2147483647 call $~lib/string/String#split local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 - i32.const 1 + i32.const 3 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store offset=4 + local.get $1 + i32.const 1808 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12944 + i32.store offset=4 + local.get $1 + i32.const 12944 + call $~lib/string/String.__eq + else i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 1712 + i32.const 14048 call $~lib/string/String.__eq else i32.const 0 @@ -17277,47 +15219,92 @@ if i32.const 0 i32.const 1120 - i32.const 514 + i32.const 520 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15424 + i32.const 15536 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7184 + i32.const 2656 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15424 - i32.const 7184 + i32.const 15536 + i32.const 2656 i32.const 2147483647 call $~lib/string/String#split local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=12 - i32.const 1 + i32.const 4 i32.eq if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store offset=4 + local.get $1 + i32.const 1808 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) local.get $0 - i32.store offset=8 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12944 + i32.store offset=4 + local.get $1 + i32.const 12944 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 + local.get $1 + i32.const 1712 + call $~lib/string/String.__eq + else i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15424 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 15424 + i32.const 14048 call $~lib/string/String.__eq else i32.const 0 @@ -17326,77 +15313,82 @@ if i32.const 0 i32.const 1120 - i32.const 516 + i32.const 522 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15424 + i32.const 15568 i32.store global.get $~lib/memory/__stack_pointer i32.const 2656 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15424 + i32.const 15568 i32.const 2656 i32.const 2147483647 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 - i32.const 3 + i32.const 4 i32.eq if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 local.get $1 + i32.const 1712 + call $~lib/string/String.__eq + else i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 + local.get $0 + i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=4 - local.get $0 + local.get $1 i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 + local.get $0 + i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer @@ -17415,87 +15407,92 @@ if i32.const 0 i32.const 1120 - i32.const 518 + i32.const 524 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15456 + i32.const 15600 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15504 + i32.const 2656 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15456 - i32.const 15504 + i32.const 15600 + i32.const 2656 i32.const 2147483647 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 - i32.const 3 + i32.const 4 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=4 - local.get $0 + local.get $1 i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 14048 + i32.store offset=4 local.get $1 - i32.const 2 + i32.const 14048 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14048 + i32.const 1712 i32.store offset=4 local.get $0 - i32.const 14048 + i32.const 1712 call $~lib/string/String.__eq else i32.const 0 @@ -17504,76 +15501,64 @@ if i32.const 0 i32.const 1120 - i32.const 520 + i32.const 526 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15536 + i32.const 2368 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2656 + i32.const 1712 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15536 - i32.const 2656 + i32.const 2368 + i32.const 1712 i32.const 2147483647 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 - i32.const 4 + i32.const 3 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=4 - local.get $0 + local.get $1 i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 @@ -17581,30 +15566,76 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 1712 + i32.const 14048 call $~lib/string/String.__eq else i32.const 0 end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 528 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.const 1712 + i32.const 0 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + i32.load offset=12 + if + i32.const 0 + i32.const 1120 + i32.const 530 i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.const 1712 + i32.const 1 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + i32.load offset=12 + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14048 + i32.const 1808 i32.store offset=4 local.get $0 - i32.const 14048 + i32.const 1808 call $~lib/string/String.__eq else i32.const 0 @@ -17613,36 +15644,30 @@ if i32.const 0 i32.const 1120 - i32.const 522 + i32.const 532 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15568 + i32.const 15424 i32.store global.get $~lib/memory/__stack_pointer i32.const 2656 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15568 + i32.const 15424 i32.const 2656 - i32.const 2147483647 + i32.const 1 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 - i32.const 4 + i32.const 1 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 @@ -17650,60 +15675,77 @@ local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 1808 i32.store offset=4 local.get $0 - i32.const 1712 + i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 534 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.const 1712 + i32.const 4 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 + local.get $0 + i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 + local.get $0 + i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=4 - local.get $0 + local.get $1 i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 3 + local.get $0 + i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer @@ -17722,107 +15764,75 @@ if i32.const 0 i32.const 1120 - i32.const 524 + i32.const 536 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 15600 + i32.const 2368 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2656 + i32.const 1712 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.const 2656 - i32.const 2147483647 + i32.const 2368 + i32.const 1712 + i32.const -1 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 - i32.const 4 + i32.const 3 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12944 - i32.store offset=4 - local.get $0 - i32.const 12944 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14048 + i32.const 12944 i32.store offset=4 - local.get $0 - i32.const 14048 + local.get $1 + i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 3 + local.get $0 + i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 1712 + i32.const 14048 call $~lib/string/String.__eq else i32.const 0 @@ -17831,76 +15841,64 @@ if i32.const 0 i32.const 1120 - i32.const 526 + i32.const 538 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 2368 + i32.const 15424 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 2656 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.const 1712 - i32.const 2147483647 + i32.const 15424 + i32.const 2656 + i32.const -1 call $~lib/string/String#split - local.tee $1 + local.tee $0 i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + local.get $0 i32.load offset=12 i32.const 3 i32.eq if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 1808 i32.store offset=4 - local.get $0 + local.get $1 i32.const 1808 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store global.get $~lib/memory/__stack_pointer i32.const 12944 i32.store offset=4 - local.get $0 + local.get $1 i32.const 12944 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 @@ -17920,405 +15918,498 @@ if i32.const 0 i32.const 1120 - i32.const 528 - i32.const 3 + i32.const 540 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3056 + i32.store offset=4 + local.get $0 + i32.const 3056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 545 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3120 + i32.store offset=4 + local.get $0 + i32.const 3120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 546 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 15920 + i32.store offset=4 + local.get $0 + i32.const 15920 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 547 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 15952 + i32.store offset=4 + local.get $0 + i32.const 15952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 548 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2432 + i32.store offset=4 + local.get $0 + i32.const 2432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 549 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1000 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 15984 + i32.store offset=4 + local.get $0 + i32.const 15984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 550 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1234 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 13584 + i32.store offset=4 + local.get $0 + i32.const 13584 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 551 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12345 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16016 + i32.store offset=4 + local.get $0 + i32.const 16016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 552 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123456 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16048 + i32.store offset=4 + local.get $0 + i32.const 16048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 553 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 1111111 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 2368 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 16080 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.const 1712 - i32.const 0 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 - i32.load offset=12 + i32.const 16080 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1120 - i32.const 530 - i32.const 3 + i32.const 554 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 1234567 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 2368 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 16128 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.const 1712 - i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 + local.get $0 + i32.const 16128 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 555 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12345678 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16176 + i32.store offset=4 local.get $0 - i32.load offset=12 - i32.const 1 - i32.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16176 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 532 - i32.const 3 + i32.const 556 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 123456789 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15424 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2656 + i32.const 16224 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 15424 - i32.const 2656 - i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 + local.get $0 + i32.const 16224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 557 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16272 + i32.store offset=4 local.get $0 - i32.load offset=12 - i32.const 1 - i32.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16272 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 534 - i32.const 3 + i32.const 558 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 2147483647 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 2368 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 16320 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.const 1712 - i32.const 4 - call $~lib/string/String#split - local.tee $1 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=12 - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else + local.get $0 + i32.const 16320 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + i32.const 1120 + i32.const 559 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12944 - i32.store offset=4 - local.get $0 - i32.const 12944 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 14048 - i32.store offset=4 - local.get $0 - i32.const 14048 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const -2147483648 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16368 + i32.store offset=4 + local.get $0 + i32.const 16368 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 536 - i32.const 3 + i32.const 560 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const -1 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 2368 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 1712 + i32.const 16416 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.const 1712 - i32.const -1 - call $~lib/string/String#split - local.tee $1 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.load offset=12 - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else + local.get $0 + i32.const 16416 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + i32.const 1120 + i32.const 561 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12944 - i32.store offset=4 - local.get $0 - i32.const 12944 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 14048 - i32.store offset=4 - local.get $0 - i32.const 14048 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const 0 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3056 + i32.store offset=4 + local.get $0 + i32.const 3056 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 538 - i32.const 3 + i32.const 563 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 1000 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15424 + local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2656 + i32.const 16448 i32.store offset=4 + local.get $0 + i32.const 16448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 564 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15424 - i32.const 2656 - i32.const -1 - call $~lib/string/String#split - local.tee $1 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store - local.get $1 - i32.load offset=12 - i32.const 3 - i32.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.store offset=4 + local.get $0 + i32.const 16320 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + i32.const 1120 + i32.const 565 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 12944 - i32.store offset=4 - local.get $0 - i32.const 12944 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 14048 - i32.store offset=4 - local.get $0 - i32.const 14048 - call $~lib/string/String.__eq - else + i32.const -2147483648 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16480 + i32.store offset=4 + local.get $0 + i32.const 16480 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 + i32.const 1120 + i32.const 566 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const -1 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16528 + i32.store offset=4 + local.get $0 + i32.const 16528 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 540 - i32.const 3 + i32.const 567 + i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -18333,14 +16424,14 @@ if i32.const 0 i32.const 1120 - i32.const 545 + i32.const 571 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -18355,14 +16446,14 @@ if i32.const 0 i32.const 1120 - i32.const 546 + i32.const 572 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 8 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -18377,431 +16468,453 @@ if i32.const 0 i32.const 1120 - i32.const 547 + i32.const 573 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 12 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15952 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 15952 + i32.const 14048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 548 + i32.const 574 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 123 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2432 + i32.const 16576 i32.store offset=4 local.get $0 - i32.const 2432 + i32.const 16576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 549 + i32.const 575 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1000 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1234 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15984 + i32.const 16608 i32.store offset=4 local.get $0 - i32.const 15984 + i32.const 16608 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 550 + i32.const 576 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 12345 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 13584 + i32.const 16640 i32.store offset=4 local.get $0 - i32.const 13584 + i32.const 16640 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 551 + i32.const 577 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 123456 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16016 + i32.const 16672 i32.store offset=4 local.get $0 - i32.const 16016 + i32.const 16672 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 552 + i32.const 578 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1111111 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16048 + i32.const 16704 i32.store offset=4 local.get $0 - i32.const 16048 + i32.const 16704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 553 + i32.const 579 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1111111 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1234567 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16080 + i32.const 16736 i32.store offset=4 local.get $0 - i32.const 16080 + i32.const 16736 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 554 + i32.const 580 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 12345678 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 16768 i32.store offset=4 local.get $0 - i32.const 16128 + i32.const 16768 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 555 + i32.const 581 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345678 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 123456789 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16176 + i32.const 16800 i32.store offset=4 local.get $0 - i32.const 16176 + i32.const 16800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 556 + i32.const 582 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 2147483646 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16224 + i32.const 16848 i32.store offset=4 local.get $0 - i32.const 16224 + i32.const 16848 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 557 + i32.const 583 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483646 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16272 + i32.const 16896 i32.store offset=4 local.get $0 - i32.const 16272 + i32.const 16896 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 558 + i32.const 584 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16320 + i32.const 16944 i32.store offset=4 local.get $0 - i32.const 16320 + i32.const 16944 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 559 + i32.const 585 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 10 + i32.const -1 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 16992 + i32.store offset=4 + local.get $0 + i32.const 16992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 586 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 16 call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16368 + i32.const 3056 i32.store offset=4 local.get $0 - i32.const 16368 + i32.const 3056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 560 + i32.const 588 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 10 + i32.const -4096 + i32.const 16 call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16416 + i32.const 15984 i32.store offset=4 local.get $0 - i32.const 16416 + i32.const 15984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 561 + i32.const 589 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 16896 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 16896 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 563 + i32.const 590 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1000 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const -2147483647 + i32.const 16 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16448 + i32.const 17040 i32.store offset=4 local.get $0 - i32.const 16448 + i32.const 17040 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 564 + i32.const 591 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const -268435455 + i32.const 16 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16320 + i32.const 17088 i32.store offset=4 local.get $0 - i32.const 16320 + i32.const 17088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 565 + i32.const 592 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -2147483648 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const 16 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16480 + i32.const 17136 i32.store offset=4 local.get $0 - i32.const 16480 + i32.const 17136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 566 + i32.const 593 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16528 + i32.const 17136 i32.store offset=4 local.get $0 - i32.const 16528 + i32.const 17136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 567 + i32.const 594 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - i32.const 16 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer @@ -18817,13 +16930,13 @@ if i32.const 0 i32.const 1120 - i32.const 571 + i32.const 598 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 - i32.const 16 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer @@ -18839,2917 +16952,2894 @@ if i32.const 0 i32.const 1120 - i32.const 572 + i32.const 599 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 16 + i32.const 3 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15920 + i32.const 13488 i32.store offset=4 local.get $0 - i32.const 15920 + i32.const 13488 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 573 + i32.const 600 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12 - i32.const 16 + i32.const 7 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14048 + i32.const 17184 i32.store offset=4 local.get $0 - i32.const 14048 + i32.const 17184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 574 + i32.const 601 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123 - i32.const 16 + i32.const 14 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16576 + i32.const 17216 i32.store offset=4 local.get $0 - i32.const 16576 + i32.const 17216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 575 + i32.const 602 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234 - i32.const 16 + i32.const 29 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16608 + i32.const 17248 i32.store offset=4 local.get $0 - i32.const 16608 + i32.const 17248 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 576 + i32.const 603 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345 - i32.const 16 + i32.const 59 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16640 + i32.const 17280 i32.store offset=4 local.get $0 - i32.const 16640 + i32.const 17280 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 577 + i32.const 604 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 16 + i32.const 4095 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16672 + i32.const 17312 i32.store offset=4 local.get $0 - i32.const 16672 + i32.const 17312 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 578 + i32.const 605 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1111111 - i32.const 16 + i32.const 33554431 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16704 + i32.const 17360 i32.store offset=4 local.get $0 - i32.const 16704 + i32.const 17360 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 579 + i32.const 606 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 16 + i32.const -12 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16736 + i32.const 17440 i32.store offset=4 local.get $0 - i32.const 16736 + i32.const 17440 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 580 + i32.const 607 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345678 - i32.const 16 + i32.const -4 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16768 + i32.const 17536 i32.store offset=4 local.get $0 - i32.const 16768 + i32.const 17536 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 581 + i32.const 608 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 16 + i32.const -2 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16800 + i32.const 17632 i32.store offset=4 local.get $0 - i32.const 16800 + i32.const 17632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 582 + i32.const 609 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483646 - i32.const 16 + i32.const -1 + i32.const 2 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16848 + i32.const 17728 i32.store offset=4 local.get $0 - i32.const 16848 + i32.const 17728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 583 + i32.const 610 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const -2047 + i32.const 2 + call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16896 + i32.const 17824 i32.store offset=4 local.get $0 - i32.const 16896 + i32.const 17824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 584 + i32.const 612 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 + i32.const -1 + i32.const 3 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16944 + i32.const 17872 i32.store offset=4 local.get $0 - i32.const 16944 + i32.const 17872 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 585 + i32.const 616 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 - i32.const 16 + i32.const 4 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16992 + i32.const 17936 i32.store offset=4 local.get $0 - i32.const 16992 + i32.const 17936 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 586 + i32.const 617 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 5 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 18000 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 18000 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 588 + i32.const 618 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -4096 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 8 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15984 + i32.const 18048 i32.store offset=4 local.get $0 - i32.const 15984 + i32.const 18048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 589 + i32.const 619 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 11 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16896 + i32.const 18096 i32.store offset=4 local.get $0 - i32.const 16896 + i32.const 18096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 590 + i32.const 620 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 15 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17040 + i32.const 18144 i32.store offset=4 local.get $0 - i32.const 17040 + i32.const 18144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 591 + i32.const 621 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -268435455 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 17 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17088 + i32.const 18192 i32.store offset=4 local.get $0 - i32.const 17088 + i32.const 18192 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 592 + i32.const 622 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 21 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17136 + i32.const 18240 i32.store offset=4 local.get $0 - i32.const 17136 + i32.const 18240 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 593 + i32.const 623 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 27 + call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17136 + i32.const 18288 i32.store offset=4 local.get $0 - i32.const 17136 + i32.const 18288 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 594 + i32.const 624 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 + i32.const -1 + i32.const 32 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 18336 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 18336 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 598 + i32.const 625 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 2 + i32.const -1 + i32.const 36 call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3120 + i32.const 18384 i32.store offset=4 local.get $0 - i32.const 3120 + i32.const 18384 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 599 + i32.const 626 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 0 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 13488 + i32.const 3056 i32.store offset=4 local.get $0 - i32.const 13488 + i32.const 3056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 600 + i32.const 630 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 12 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17184 + i32.const 15952 i32.store offset=4 local.get $0 - i32.const 17184 + i32.const 15952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 601 + i32.const 631 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 14 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 123 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17216 + i32.const 2432 i32.store offset=4 local.get $0 - i32.const 17216 + i32.const 2432 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 602 + i32.const 632 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 29 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 1234 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17248 + i32.const 13584 i32.store offset=4 local.get $0 - i32.const 17248 + i32.const 13584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 603 + i32.const 633 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 59 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 12345 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17280 + i32.const 16016 i32.store offset=4 local.get $0 - i32.const 17280 + i32.const 16016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 604 + i32.const 634 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4095 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 123456 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17312 + i32.const 16048 i32.store offset=4 local.get $0 - i32.const 17312 + i32.const 16048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 605 + i32.const 635 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 33554431 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 1234567 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17360 + i32.const 16128 i32.store offset=4 local.get $0 - i32.const 17360 + i32.const 16128 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 606 + i32.const 636 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -12 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 99999999 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17440 + i32.const 18432 i32.store offset=4 local.get $0 - i32.const 17440 + i32.const 18432 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 607 + i32.const 637 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -4 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 100000000 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17536 + i32.const 18480 i32.store offset=4 local.get $0 - i32.const 17536 + i32.const 18480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 608 + i32.const 638 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17632 + i32.const 16528 i32.store offset=4 local.get $0 - i32.const 17632 + i32.const 16528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 609 + i32.const 639 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17728 + i32.const 18528 i32.store offset=4 local.get $0 - i32.const 17728 + i32.const 18528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 610 + i32.const 640 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2047 - i32.const 2 - call $~lib/util/number/itoa32 + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17824 + i32.const 18576 i32.store offset=4 local.get $0 - i32.const 17824 + i32.const 18576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 612 + i32.const 641 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 3 - call $~lib/util/number/utoa32 + i64.const 868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17872 + i32.const 18624 i32.store offset=4 local.get $0 - i32.const 17872 + i32.const 18624 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 616 + i32.const 642 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 4 - call $~lib/util/number/utoa32 + i64.const 8687194767350 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17936 + i32.const 18672 i32.store offset=4 local.get $0 - i32.const 17936 + i32.const 18672 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 617 + i32.const 643 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 5 - call $~lib/util/number/utoa32 + i64.const 86871947673501 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18000 + i32.const 18720 i32.store offset=4 local.get $0 - i32.const 18000 + i32.const 18720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 618 + i32.const 644 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 8 - call $~lib/util/number/utoa32 + i64.const 999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18048 + i32.const 18768 i32.store offset=4 local.get $0 - i32.const 18048 + i32.const 18768 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 619 + i32.const 645 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 11 - call $~lib/util/number/utoa32 + i64.const 9999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18096 + i32.const 18832 i32.store offset=4 local.get $0 - i32.const 18096 + i32.const 18832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 620 + i32.const 646 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 15 - call $~lib/util/number/utoa32 + i64.const 19999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18144 + i32.const 18896 i32.store offset=4 local.get $0 - i32.const 18144 + i32.const 18896 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 621 + i32.const 647 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 17 - call $~lib/util/number/utoa32 + i64.const 129999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18192 + i32.const 18960 i32.store offset=4 local.get $0 - i32.const 18192 + i32.const 18960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 622 + i32.const 648 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 21 - call $~lib/util/number/utoa32 + i64.const 1239999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18240 + i32.const 19024 i32.store offset=4 local.get $0 - i32.const 18240 + i32.const 19024 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 623 + i32.const 649 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 27 - call $~lib/util/number/utoa32 + i64.const -1 + i32.const 10 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18288 + i32.const 19088 i32.store offset=4 local.get $0 - i32.const 18288 + i32.const 19088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 624 + i32.const 650 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 32 - call $~lib/util/number/utoa32 + i64.const 0 + i32.const 10 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18336 + i32.const 3056 i32.store offset=4 local.get $0 - i32.const 18336 + i32.const 3056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 625 + i32.const 652 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 36 - call $~lib/util/number/utoa32 + i64.const -1234 + i32.const 10 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18384 + i32.const 19152 i32.store offset=4 local.get $0 - i32.const 18384 + i32.const 19152 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 626 + i32.const 653 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 + i64.const 4294967295 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 16528 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 16528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 630 + i32.const 654 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 + i64.const 4294967297 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 15952 + i32.const 18528 i32.store offset=4 local.get $0 - i32.const 15952 + i32.const 18528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 631 + i32.const 655 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123 + i64.const -4294967295 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 2432 + i32.const 19184 i32.store offset=4 local.get $0 - i32.const 2432 + i32.const 19184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 632 + i32.const 656 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 + i64.const 68719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 13584 + i32.const 18576 i32.store offset=4 local.get $0 - i32.const 13584 + i32.const 18576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 633 + i32.const 657 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12345 + i64.const -68719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16016 + i32.const 19232 i32.store offset=4 local.get $0 - i32.const 16016 + i32.const 19232 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 634 + i32.const 658 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123456 + i64.const -868719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16048 + i32.const 19280 i32.store offset=4 local.get $0 - i32.const 16048 + i32.const 19280 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 635 + i32.const 659 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234567 + i64.const -999868719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16128 + i32.const 19328 i32.store offset=4 local.get $0 - i32.const 16128 + i32.const 19328 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 636 + i32.const 660 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 99999999 + i64.const -19999868719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18432 + i32.const 19392 i32.store offset=4 local.get $0 - i32.const 18432 + i32.const 19392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 637 + i32.const 661 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 100000000 + i64.const 9223372036854775807 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18480 + i32.const 19456 i32.store offset=4 local.get $0 - i32.const 18480 + i32.const 19456 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 638 + i32.const 662 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 + i64.const -9223372036854775808 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16528 + i32.const 19520 i32.store offset=4 local.get $0 - i32.const 16528 + i32.const 19520 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 639 + i32.const 663 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 + i64.const 0 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18528 + i32.const 3056 i32.store offset=4 local.get $0 - i32.const 18528 + i32.const 3056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 640 + i32.const 667 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 + i64.const 1 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18576 + i32.const 3120 i32.store offset=4 local.get $0 - i32.const 18576 + i32.const 3120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 641 + i32.const 668 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 868719476735 - i32.const 10 + i64.const 12 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18624 + i32.const 14048 i32.store offset=4 local.get $0 - i32.const 18624 + i32.const 14048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 642 + i32.const 669 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8687194767350 - i32.const 10 + i64.const 1234 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18672 + i32.const 16608 i32.store offset=4 local.get $0 - i32.const 18672 + i32.const 16608 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 643 + i32.const 670 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 86871947673501 - i32.const 10 + i64.const 1111111 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18720 + i32.const 16704 i32.store offset=4 local.get $0 - i32.const 18720 + i32.const 16704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 644 + i32.const 671 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 999868719476735 - i32.const 10 + i64.const 8589934591 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18768 + i32.const 19584 i32.store offset=4 local.get $0 - i32.const 18768 + i32.const 19584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 645 + i32.const 672 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9999868719476735 - i32.const 10 + i64.const 5942249508321 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18832 + i32.const 19632 i32.store offset=4 local.get $0 - i32.const 18832 + i32.const 19632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 646 + i32.const 673 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 19999868719476735 - i32.const 10 + i64.const 76310993685985 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18896 + i32.const 19680 i32.store offset=4 local.get $0 - i32.const 18896 + i32.const 19680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 647 + i32.const 674 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 129999868719476735 - i32.const 10 + i64.const 920735923817967 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18960 + i32.const 19728 i32.store offset=4 local.get $0 - i32.const 18960 + i32.const 19728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 648 + i32.const 675 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1239999868719476735 - i32.const 10 + i64.const 9927935178558959 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19024 + i32.const 19776 i32.store offset=4 local.get $0 - i32.const 19024 + i32.const 19776 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 649 + i32.const 676 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 10 + i64.const 81985529216486895 + i32.const 16 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19088 + i32.const 19824 i32.store offset=4 local.get $0 - i32.const 19088 + i32.const 19824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 650 + i32.const 677 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 1311768467463790320 + i32.const 16 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 19888 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 19888 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 652 + i32.const 678 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1234 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 9223372036854775807 + i32.const 16 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19152 + i32.const 19952 i32.store offset=4 local.get $0 - i32.const 19152 + i32.const 19952 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 653 + i32.const 679 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 16 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16528 + i32.const 20016 i32.store offset=4 local.get $0 - i32.const 16528 + i32.const 20016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 654 + i32.const 680 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 + i64.const -9223372036854775807 + i32.const 16 call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18528 + i32.const 20080 i32.store offset=4 local.get $0 - i32.const 18528 + i32.const 20080 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 655 + i32.const 682 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4294967295 - i32.const 10 + i64.const -9223372036854775808 + i32.const 16 call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19184 + i32.const 20144 i32.store offset=4 local.get $0 - i32.const 19184 + i32.const 20144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 656 + i32.const 683 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 + i64.const -9223372036854775808 + i32.const 16 call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 18576 + i32.const 20144 i32.store offset=4 local.get $0 - i32.const 18576 + i32.const 20144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 657 + i32.const 684 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -68719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 0 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19232 + i32.const 3056 i32.store offset=4 local.get $0 - i32.const 19232 + i32.const 3056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 658 + i32.const 688 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 1 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19280 + i32.const 3120 i32.store offset=4 local.get $0 - i32.const 19280 + i32.const 3120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 659 + i32.const 689 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 7 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19328 + i32.const 17184 i32.store offset=4 local.get $0 - i32.const 19328 + i32.const 17184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 660 + i32.const 690 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -19999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 14 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19392 + i32.const 17216 i32.store offset=4 local.get $0 - i32.const 19392 + i32.const 17216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 661 + i32.const 691 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9223372036854775807 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 59 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19456 + i32.const 17280 i32.store offset=4 local.get $0 - i32.const 19456 + i32.const 17280 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 662 + i32.const 692 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 4095 + i32.const 2 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19520 + i32.const 17312 i32.store offset=4 local.get $0 - i32.const 19520 + i32.const 17312 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 663 + i32.const 693 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 16 + i64.const 4294967295 + i32.const 2 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 17728 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 17728 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 667 + i32.const 694 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 16 + i64.const 562949953421311 + i32.const 2 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3120 + i32.const 20208 i32.store offset=4 local.get $0 - i32.const 3120 + i32.const 20208 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 668 + i32.const 695 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 - i32.const 16 + i64.const -1 + i32.const 2 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 14048 + i32.const 20336 i32.store offset=4 local.get $0 - i32.const 14048 + i32.const 20336 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 669 + i32.const 696 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 - i32.const 16 - call $~lib/util/number/utoa64 + i64.const -8589934591 + i32.const 2 + call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16608 + i32.const 20496 i32.store offset=4 local.get $0 - i32.const 16608 + i32.const 20496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 670 + i32.const 698 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1111111 - i32.const 16 + i64.const -1 + i32.const 3 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 16704 + i32.const 20592 i32.store offset=4 local.get $0 - i32.const 16704 + i32.const 20592 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 671 + i32.const 702 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8589934591 - i32.const 16 + i64.const -1 + i32.const 4 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19584 + i32.const 20704 i32.store offset=4 local.get $0 - i32.const 19584 + i32.const 20704 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 672 + i32.const 703 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 5942249508321 - i32.const 16 + i64.const -1 + i32.const 5 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19632 + i32.const 20800 i32.store offset=4 local.get $0 - i32.const 19632 + i32.const 20800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 673 + i32.const 704 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 76310993685985 - i32.const 16 + i64.const -1 + i32.const 8 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19680 + i32.const 20880 i32.store offset=4 local.get $0 - i32.const 19680 + i32.const 20880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 674 + i32.const 705 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 920735923817967 - i32.const 16 + i64.const -1 + i32.const 11 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19728 + i32.const 20944 i32.store offset=4 local.get $0 - i32.const 19728 + i32.const 20944 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 675 + i32.const 706 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9927935178558959 - i32.const 16 + i64.const -1 + i32.const 15 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19776 + i32.const 21008 i32.store offset=4 local.get $0 - i32.const 19776 + i32.const 21008 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 676 + i32.const 707 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 81985529216486895 - i32.const 16 + i64.const -1 + i32.const 17 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19824 + i32.const 21072 i32.store offset=4 local.get $0 - i32.const 19824 + i32.const 21072 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 677 + i32.const 708 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1311768467463790320 - i32.const 16 + i64.const -1 + i32.const 21 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19888 + i32.const 21136 i32.store offset=4 local.get $0 - i32.const 19888 + i32.const 21136 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 678 + i32.const 709 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9223372036854775807 - i32.const 16 + i64.const -1 + i32.const 27 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 19952 + i32.const 21200 i32.store offset=4 local.get $0 - i32.const 19952 + i32.const 21200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 679 + i32.const 710 i32.const 1 call $~lib/builtins/abort unreachable end i64.const -1 - i32.const 16 + i32.const 32 call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20016 + i32.const 21248 i32.store offset=4 local.get $0 - i32.const 20016 + i32.const 21248 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 680 + i32.const 711 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775807 - i32.const 16 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 36 + call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20080 + i32.const 21296 i32.store offset=4 local.get $0 - i32.const 20080 + i32.const 21296 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 682 + i32.const 712 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + f64.const 0 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20144 + i32.const 21344 i32.store offset=4 local.get $0 - i32.const 20144 + i32.const 21344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 683 + i32.const 715 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + f64.const -0 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20144 + i32.const 21344 i32.store offset=4 local.get $0 - i32.const 20144 + i32.const 21344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 684 + i32.const 716 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3056 + i32.const 7248 i32.store offset=4 local.get $0 - i32.const 3056 + i32.const 7248 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 688 + i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const inf + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 3120 + i32.const 21376 i32.store offset=4 local.get $0 - i32.const 3120 + i32.const 21376 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 689 + i32.const 718 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 7 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const -inf + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17184 + i32.const 8544 i32.store offset=4 local.get $0 - i32.const 17184 + i32.const 8544 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 690 + i32.const 719 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 14 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 2.220446049250313e-16 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17216 + i32.const 7760 i32.store offset=4 local.get $0 - i32.const 17216 + i32.const 7760 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 691 + i32.const 720 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 59 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const -2.220446049250313e-16 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17280 + i32.const 22400 i32.store offset=4 local.get $0 - i32.const 17280 + i32.const 22400 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 692 + i32.const 721 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4095 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 1797693134862315708145274e284 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17312 + i32.const 7824 i32.store offset=4 local.get $0 - i32.const 17312 + i32.const 7824 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 693 + i32.const 722 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const -1797693134862315708145274e284 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 17728 + i32.const 22464 i32.store offset=4 local.get $0 - i32.const 17728 + i32.const 22464 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 694 + i32.const 723 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 562949953421311 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20208 + i32.const 22544 i32.store offset=4 local.get $0 - i32.const 20208 + i32.const 22544 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 695 + i32.const 724 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20336 + i32.const 22608 i32.store offset=4 local.get $0 - i32.const 20336 + i32.const 22608 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 696 + i32.const 725 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -8589934591 - i32.const 2 - call $~lib/util/number/itoa64 + f64.const 4.940656e-318 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20496 + i32.const 22688 i32.store offset=4 local.get $0 - i32.const 20496 + i32.const 22688 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 698 + i32.const 728 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 3 - call $~lib/util/number/utoa64 + f64.const 9060801153433600 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20592 + i32.const 22736 i32.store offset=4 local.get $0 - i32.const 20592 + i32.const 22736 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 702 + i32.const 729 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 4 - call $~lib/util/number/utoa64 + f64.const 4708356024711512064 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20704 + i32.const 22800 i32.store offset=4 local.get $0 - i32.const 20704 + i32.const 22800 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 703 + i32.const 730 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 5 - call $~lib/util/number/utoa64 + f64.const 9409340012568248320 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20800 + i32.const 22864 i32.store offset=4 local.get $0 - i32.const 20800 + i32.const 22864 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 704 + i32.const 731 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 8 - call $~lib/util/number/utoa64 + f64.const 5e-324 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20880 + i32.const 7904 i32.store offset=4 local.get $0 - i32.const 20880 + i32.const 7904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 705 + i32.const 732 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 11 - call $~lib/util/number/utoa64 + f64.const 1 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 20944 + i32.const 22928 i32.store offset=4 local.get $0 - i32.const 20944 + i32.const 22928 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 706 + i32.const 738 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 15 - call $~lib/util/number/utoa64 + f64.const 0.1 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21008 + i32.const 4832 i32.store offset=4 local.get $0 - i32.const 21008 + i32.const 4832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 707 + i32.const 739 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 17 - call $~lib/util/number/utoa64 + f64.const -1 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21072 + i32.const 22960 i32.store offset=4 local.get $0 - i32.const 21072 + i32.const 22960 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 708 + i32.const 740 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 21 - call $~lib/util/number/utoa64 + f64.const -0.1 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21136 + i32.const 22992 i32.store offset=4 local.get $0 - i32.const 21136 + i32.const 22992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 709 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 27 - call $~lib/util/number/utoa64 + f64.const 1e6 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21200 + i32.const 23024 i32.store offset=4 local.get $0 - i32.const 21200 + i32.const 23024 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 710 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 32 - call $~lib/util/number/utoa64 + f64.const 1e-06 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21248 + i32.const 23072 i32.store offset=4 local.get $0 - i32.const 21248 + i32.const 23072 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 711 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 36 - call $~lib/util/number/utoa64 + f64.const -1e6 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21296 + i32.const 23120 i32.store offset=4 local.get $0 - i32.const 21296 + i32.const 23120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 712 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const -1e-06 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21344 + i32.const 23168 i32.store offset=4 local.get $0 - i32.const 21344 + i32.const 23168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 715 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 + f64.const 1e7 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21344 + i32.const 23216 i32.store offset=4 local.get $0 - i32.const 21344 + i32.const 23216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 716 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 + f64.const 1e-07 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7248 + i32.const 23264 i32.store offset=4 local.get $0 - i32.const 7248 + i32.const 23264 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 717 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf + f64.const 1.e+308 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21376 + i32.const 5120 i32.store offset=4 local.get $0 - i32.const 21376 + i32.const 5120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 718 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -inf + f64.const -1.e+308 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8544 + i32.const 23296 i32.store offset=4 local.get $0 - i32.const 8544 + i32.const 23296 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 719 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.220446049250313e-16 + f64.const inf call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7760 + i32.const 21376 i32.store offset=4 local.get $0 - i32.const 7760 + i32.const 21376 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 720 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.220446049250313e-16 + f64.const -inf call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22400 + i32.const 8544 i32.store offset=4 local.get $0 - i32.const 22400 + i32.const 8544 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 721 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1797693134862315708145274e284 + f64.const 1e-308 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7824 + i32.const 23344 i32.store offset=4 local.get $0 - i32.const 7824 + i32.const 23344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 722 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1797693134862315708145274e284 + f64.const -1e-308 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22464 + i32.const 23376 i32.store offset=4 local.get $0 - i32.const 22464 + i32.const 23376 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 723 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4185580496821356722454785e274 + f64.const 1e-323 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22544 + i32.const 23424 i32.store offset=4 local.get $0 - i32.const 22544 + i32.const 23424 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 724 + i32.const 756 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 + f64.const -1e-323 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22608 + i32.const 23456 i32.store offset=4 local.get $0 - i32.const 22608 + i32.const 23456 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 725 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 + f64.const 0 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22688 + i32.const 21344 i32.store offset=4 local.get $0 - i32.const 22688 + i32.const 21344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 728 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9060801153433600 + f64.const 4294967272 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22736 + i32.const 23504 i32.store offset=4 local.get $0 - i32.const 22736 + i32.const 23504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 729 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 + f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22800 + i32.const 23552 i32.store offset=4 local.get $0 - i32.const 22800 + i32.const 23552 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 730 + i32.const 761 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9409340012568248320 + f64.const 555555555.5555556 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22864 + i32.const 23616 i32.store offset=4 local.get $0 - i32.const 22864 + i32.const 23616 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 731 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 + f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7904 + i32.const 23680 i32.store offset=4 local.get $0 - i32.const 7904 + i32.const 23680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 732 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable @@ -21770,900 +19860,1836 @@ if i32.const 0 i32.const 1120 - i32.const 738 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.1 + f64.const 12.34 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 4832 + i32.const 23744 i32.store offset=4 local.get $0 - i32.const 4832 + i32.const 23744 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 739 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 + f64.const 0.3333333333333333 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22960 + i32.const 23776 i32.store offset=4 local.get $0 - i32.const 22960 + i32.const 23776 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 740 + i32.const 768 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.1 + f64.const 1234e17 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 22992 + i32.const 23840 i32.store offset=4 local.get $0 - i32.const 22992 + i32.const 23840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 741 + i32.const 769 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e6 + f64.const 1234e18 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23024 + i32.const 23920 i32.store offset=4 local.get $0 - i32.const 23024 + i32.const 23920 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 743 + i32.const 770 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-06 + f64.const 2.71828 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23072 + i32.const 23968 i32.store offset=4 local.get $0 - i32.const 23072 + i32.const 23968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 744 + i32.const 771 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e6 + f64.const 0.0271828 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23120 + i32.const 24016 i32.store offset=4 local.get $0 - i32.const 23120 + i32.const 24016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 745 + i32.const 772 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-06 + f64.const 271.828 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23168 + i32.const 24064 i32.store offset=4 local.get $0 - i32.const 23168 + i32.const 24064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 746 + i32.const 773 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e7 + f64.const 1.1e+128 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23216 + i32.const 24112 i32.store offset=4 local.get $0 - i32.const 23216 + i32.const 24112 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 747 + i32.const 774 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-07 + f64.const 1.1e-64 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23264 + i32.const 24160 i32.store offset=4 local.get $0 - i32.const 23264 + i32.const 24160 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 748 + i32.const 775 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.e+308 + f64.const 0.000035689 call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 5120 + i32.const 24208 i32.store offset=4 local.get $0 - i32.const 5120 + i32.const 24208 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 750 + i32.const 776 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.e+308 - call $~lib/util/number/dtoa + global.get $~lib/memory/__stack_pointer + i32.const 24256 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24288 + i32.store offset=12 + i32.const 24256 + i32.const 24288 + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23296 + i32.const 24320 i32.store offset=4 local.get $0 - i32.const 23296 + i32.const 24320 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 751 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - call $~lib/util/number/dtoa + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24368 + i32.store offset=12 + i32.const 1712 + i32.const 24368 + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 21376 + i32.const 24368 i32.store offset=4 local.get $0 - i32.const 21376 + i32.const 24368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 752 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -inf - call $~lib/util/number/dtoa + global.get $~lib/memory/__stack_pointer + i32.const 24368 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=12 + i32.const 24368 + i32.const 1712 + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8544 + i32.const 24368 i32.store offset=4 local.get $0 - i32.const 8544 + i32.const 24368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 753 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-308 - call $~lib/util/number/dtoa + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store offset=12 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 23344 + i32.const 1712 i32.store offset=4 local.get $0 - i32.const 23344 + i32.const 1712 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 754 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-308 - call $~lib/util/number/dtoa + i32.const 0 + global.set $std/string/str + i32.const 40812 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + i32.const 44 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/string/String.fromCharCode (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2 + local.get $1 + i32.const 0 + i32.gt_s + local.tee $3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + i32.store16 + local.get $3 + if + local.get $2 + local.get $1 + i32.store16 offset=2 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + i32.shl + local.tee $4 + local.set $6 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $6 + call $~lib/memory/memory.copy + end + local.get $3 + i32.store + i32.const 16 + local.get $1 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 + local.get $4 + i32.store offset=8 + local.get $1 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String.fromCharCodes (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=12 + local.tee $1 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $0 + i32.load offset=4 local.set $0 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 23376 - i32.store offset=4 + i32.const 0 + i32.store local.get $0 - i32.const 23376 - call $~lib/string/String.__eq - i32.eqz + i32.const 1114111 + i32.gt_u if i32.const 0 - i32.const 1120 - i32.const 755 - i32.const 1 + i32.const 1328 + i32.const 33 + i32.const 5 call $~lib/builtins/abort unreachable end - f64.const 1e-323 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 2 local.get $0 + i32.const 65535 + i32.gt_s + local.tee $2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23424 - i32.store offset=4 - local.get $0 - i32.const 23424 - call $~lib/string/String.__eq - i32.eqz + local.get $2 if - i32.const 0 - i32.const 1120 - i32.const 756 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + i32.const 65536 + i32.sub + local.tee $0 + i32.const 10 + i32.shr_u + i32.const 55296 + i32.or + local.get $0 + i32.const 1023 + i32.and + i32.const 56320 + i32.or + i32.const 16 + i32.shl + i32.or + i32.store + else + local.get $1 + local.get $0 + i32.store16 end - f64.const -1e-323 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#padStart (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 23456 - i32.store offset=4 - local.get $0 - i32.const 23456 - call $~lib/string/String.__eq + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $4 i32.eqz + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $5 + local.get $1 + i32.const 1 + i32.shl + local.tee $3 + i32.gt_u + select if - i32.const 0 - i32.const 1120 - i32.const 757 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const 0 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 21344 - i32.store offset=4 - local.get $0 - i32.const 21344 - call $~lib/string/String.__eq - i32.eqz + local.get $4 + local.get $3 + local.get $5 + i32.sub + local.tee $3 + i32.lt_u if - i32.const 0 - i32.const 1120 - i32.const 758 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $2 + local.get $4 + local.get $3 + i32.const 2 + i32.sub + local.get $4 + i32.div_u + local.tee $6 + call $~lib/memory/memory.repeat + local.get $1 + local.get $4 + local.get $6 + i32.mul + local.tee $4 + i32.add + local.get $2 + local.get $3 + local.get $4 + i32.sub + call $~lib/memory/memory.copy + else + local.get $1 + local.get $2 + local.get $3 + call $~lib/memory/memory.copy end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $3 + i32.add local.get $0 - i32.store + local.get $5 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 23504 - i32.store offset=4 - local.get $0 - i32.const 23504 - call $~lib/string/String.__eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#padEnd (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $3 i32.eqz + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $4 + local.get $1 + i32.const 1 + i32.shl + local.tee $5 + i32.gt_u + select if - i32.const 0 - i32.const 1120 - i32.const 760 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $5 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23552 - i32.store offset=4 + local.get $1 local.get $0 - i32.const 23552 - call $~lib/string/String.__eq - i32.eqz + local.get $4 + call $~lib/memory/memory.copy + local.get $3 + local.get $5 + local.get $4 + i32.sub + local.tee $0 + i32.lt_u if - i32.const 0 - i32.const 1120 - i32.const 761 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $4 + i32.add + local.tee $4 + local.get $2 + local.get $3 + local.get $0 + i32.const 2 + i32.sub + local.get $3 + i32.div_u + local.tee $5 + call $~lib/memory/memory.repeat + local.get $4 + local.get $3 + local.get $5 + i32.mul + local.tee $3 + i32.add + local.get $2 + local.get $0 + local.get $3 + i32.sub + call $~lib/memory/memory.copy + else + local.get $1 + local.get $4 + i32.add + local.get $2 + local.get $0 + call $~lib/memory/memory.copy end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#trimStart (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 23616 - i32.store offset=4 - local.get $0 - i32.const 23616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 763 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23680 - i32.store offset=4 local.get $0 - i32.const 23680 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if (result i32) + local.get $0 + local.get $1 + i32.add + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $1 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 764 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const 1 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 22928 - i32.store offset=4 - local.get $0 - i32.const 22928 - call $~lib/string/String.__eq + local.get $2 + local.get $1 + i32.sub + local.tee $2 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 765 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return end - f64.const 12.34 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23744 - i32.store offset=4 + local.get $3 local.get $0 - i32.const 23744 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 766 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.3333333333333333 - call $~lib/util/number/dtoa - local.set $0 + local.get $1 + i32.add + local.get $2 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#trimEnd (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 23776 - i32.store offset=4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.const 23776 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $2 + local.set $1 + loop $while-continue|0 + local.get $1 + if (result i32) + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.sub + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $1 + i32.const 2 + i32.sub + local.set $1 + br $while-continue|0 + end + end + local.get $1 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 768 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return end - f64.const 1234e17 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23840 - i32.store offset=4 - local.get $0 - i32.const 23840 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + local.get $2 + i32.eq if - i32.const 0 - i32.const 1120 - i32.const 769 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const 1234e18 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 23920 - i32.store offset=4 + local.get $2 local.get $0 - i32.const 23920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 770 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2.71828 - call $~lib/util/number/dtoa - local.set $0 + local.get $1 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/string/String#trim (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 23968 - i32.store offset=4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.const 23968 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.set $3 + local.get $1 + i32.const 1 + i32.shl + local.set $1 + loop $while-continue|0 + local.get $1 + if (result i32) + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.sub + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $1 + i32.const 2 + i32.sub + local.set $1 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $1 + local.get $2 + i32.gt_u + if (result i32) + local.get $0 + local.get $2 + i32.add + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + br $while-continue|1 + end + end + local.get $1 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 771 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end + i32.const 0 + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.eq + local.get $2 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const 0.0271828 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24016 - i32.store offset=4 + local.get $3 local.get $0 - i32.const 24016 - call $~lib/string/String.__eq + local.get $2 + i32.add + local.get $1 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 772 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 2208 + i32.store + i32.const 2208 + local.set $1 end - f64.const 271.828 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24064 - i32.store offset=4 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $4 local.get $0 - i32.const 24064 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.shl + local.tee $3 + i32.add + local.tee $2 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 773 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return end - f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store global.get $~lib/memory/__stack_pointer - i32.const 24112 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 i32.store offset=4 + local.get $2 local.get $0 - i32.const 24112 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 774 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.set $0 + local.get $3 + call $~lib/memory/memory.copy + local.get $2 + local.get $3 + i32.add + local.get $1 + local.get $4 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/string/String#repeat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 24160 - i32.store offset=4 - local.get $0 - i32.const 24160 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 775 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0.000035689 - call $~lib/util/number/dtoa - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24208 - i32.store offset=4 + i32.const 1 local.get $0 - i32.const 24208 - call $~lib/string/String.__eq - i32.eqz + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + i64.extend_i32_s + local.get $1 + i64.extend_i32_s + i64.mul + i64.const 268435456 + i64.gt_u + local.get $1 + i32.const 0 + i32.lt_s + select if - i32.const 0 - i32.const 1120 - i32.const 776 - i32.const 1 + i32.const 13648 + i32.const 1328 + i32.const 333 + i32.const 7 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24256 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24288 - i32.store offset=12 - i32.const 24256 - i32.const 24288 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24320 - i32.store offset=4 - local.get $0 - i32.const 24320 - call $~lib/string/String.__eq + local.get $2 i32.eqz + i32.const 1 + local.get $1 + select if - i32.const 0 - i32.const 1120 - i32.const 781 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end + local.get $1 + i32.const 1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24368 - i32.store offset=12 - i32.const 1712 - i32.const 24368 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + local.get $2 + i32.mul + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24368 - i32.store offset=4 + local.get $3 local.get $0 - i32.const 24368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 782 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.const 1 + i32.shl + local.get $1 + call $~lib/memory/memory.repeat global.get $~lib/memory/__stack_pointer - i32.const 24368 - i32.store offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#replace (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=12 - i32.const 24368 - i32.const 1712 - call $~lib/string/String#concat - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 24368 - i32.store offset=4 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.ge_u + if + local.get $3 + local.get $4 + i32.ge_u + if + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + local.set $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end local.get $0 - i32.const 24368 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 0 + call $~lib/string/String#indexOf + local.tee $1 + i32.const -1 + i32.xor if - i32.const 0 - i32.const 1120 - i32.const 783 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.tee $5 + local.get $3 + local.get $4 + i32.sub + local.tee $6 + i32.add + local.tee $3 + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + local.tee $7 + call $~lib/memory/memory.copy + local.get $3 + local.get $7 + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $1 + local.get $5 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + local.get $4 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $1 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end end global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=12 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store + ) + (func $~lib/string/String#replaceAll (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 784 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/string/str - i32.const 40812 + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $folding-inner0 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $10 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.ge_u + if + local.get $4 + local.get $10 + i32.ge_u + if + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + local.set $0 + end + br $folding-inner0 + end + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $5 + local.get $10 + i32.eqz + if + local.get $5 + i32.eqz + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $5 + local.get $4 + i32.const 1 + i32.add + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.set $1 + loop $for-loop|0 + local.get $4 + local.get $8 + i32.gt_u + if + local.get $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $3 + local.get $1 + i32.const 1 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $1 + local.get $5 + i32.add + local.set $1 + local.get $8 + i32.const 1 + i32.add + local.set $8 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $5 + local.get $10 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + local.get $0 + local.get $3 + call $~lib/memory/memory.copy + loop $while-continue|1 + local.get $0 + local.get $1 + local.get $7 + call $~lib/string/String#indexOf + local.tee $3 + i32.const -1 + i32.xor + if + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $3 + local.get $10 + i32.add + local.set $7 + br $while-continue|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $4 + local.set $3 + loop $while-continue|2 + local.get $0 + local.get $1 + local.get $7 + call $~lib/string/String#indexOf + local.tee $8 + i32.const -1 + i32.xor if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + local.get $6 + call $~lib/string/String.__not + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + end + local.get $3 + local.get $5 + local.get $9 + local.get $8 + local.get $7 + i32.sub + local.tee $11 + i32.add + i32.add + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $6 + local.get $3 + i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $6 + i32.store offset=4 + end + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $6 + local.get $9 + local.get $11 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.get $7 + i32.add + local.set $9 + local.get $8 + local.get $10 + i32.add + local.set $7 + br $while-continue|2 end end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + local.get $6 if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + local.get $3 + local.get $9 + local.get $4 + local.get $7 + i32.sub + local.tee $1 + i32.add + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $6 + local.get $3 + i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $6 + i32.store offset=4 + end + local.get $1 + if + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + end + local.get $3 + local.get $1 + local.get $9 + i32.add + local.tee $0 + i32.gt_u + if + global.get $~lib/memory/__stack_pointer + local.get $6 + local.get $0 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $6 + i32.store offset=4 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/string/String.fromCharCode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/string/String#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + end + local.get $1 + i32.sub + local.tee $2 i32.const 0 - i32.store + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $1 - i32.const 0 - i32.gt_s - local.tee $3 + local.get $2 + i32.const 1 i32.shl + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 local.get $0 - i32.store16 + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $3 - if - local.get $2 - local.get $1 - i32.store16 offset=2 - end + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#substr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22672,53 +21698,78 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.shl - local.tee $4 - local.set $6 - local.get $4 + local.get $2 i32.const 0 - call $~lib/rt/itcms/__new - local.set $3 local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.const 0 + i32.lt_s if + local.get $1 local.get $3 - local.get $2 - local.get $6 - call $~lib/memory/memory.copy + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.set $1 end - local.get $3 - i32.store - i32.const 16 - local.get $1 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $3 - i32.store local.get $1 + i32.sub + local.tee $3 + local.get $2 local.get $3 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $2 i32.const 0 - call $~lib/rt/itcms/__link - local.get $1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $1 local.get $0 - i32.store offset=12 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $3 ) - (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22727,53 +21778,93 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $3 local.get $0 - i32.const 1114111 - i32.gt_u - if - i32.const 0 - i32.const 1328 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $0 - i32.const 65535 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $3 + i32.gt_s + select + local.tee $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + local.get $2 + local.get $3 + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + local.get $2 + local.get $2 + local.get $3 i32.gt_s + select + i32.const 1 + i32.shl local.tee $2 + i32.sub + local.tee $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return + end + i32.const 0 + local.get $4 + local.get $1 + i32.const 1 i32.shl + i32.eq + local.get $2 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $3 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 i32.store + local.get $1 + local.get $0 local.get $2 - if - local.get $1 - local.get $0 - i32.const 65536 - i32.sub - local.tee $0 - i32.const 10 - i32.shr_u - i32.const 55296 - i32.or - local.get $0 - i32.const 1023 - i32.and - i32.const 56320 - i32.or - i32.const 16 - i32.shl - i32.or - i32.store - else - local.get $1 - local.get $0 - i32.store16 - end + i32.add + local.get $3 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/std/string.untouched.wat b/tests/compiler/std/string.untouched.wat index 0224b6bc1a..410882dbbf 100644 --- a/tests/compiler/std/string.untouched.wat +++ b/tests/compiler/std/string.untouched.wat @@ -638,6 +638,131 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/string/String#charCodeAt (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + call $~lib/string/String#get:length + i32.ge_u + if + i32.const -1 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + ) + (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const -1 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $3 + local.get $3 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1 + i32.add + local.get $2 + i32.eq + end + if + local.get $3 + return + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u offset=2 + local.set $4 + local.get $4 + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + local.get $3 + return + end + local.get $3 + i32.const 55296 + i32.sub + i32.const 10 + i32.shl + local.get $4 + i32.const 56320 + i32.sub + i32.add + i32.const 65536 + i32.add + ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2951,6 +3076,58 @@ call $~lib/memory/memory.fill local.get $3 ) + (func $~lib/string/String#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 240 + i32.const 304 + i32.const 54 + i32.const 31 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.set $3 + local.get $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $3 + ) + (func $~lib/string/String.__not (param $0 i32) (result i32) + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $0 + call $~lib/string/String#get:length + i32.eqz + end + ) (func $~lib/string/String.fromCharCode@varargs (param $0 i32) (param $1 i32) (result i32) block $1of1 block $0of1 @@ -4309,63 +4486,304 @@ local.get $0 i32.load offset=12 ) - (func $~lib/memory/memory.repeat (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/string/String#endsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + local.get $1 i32.const 0 - local.set $4 + i32.eq + if + i32.const 0 + return + end local.get $2 + local.tee $3 + i32.const 0 + local.tee $4 local.get $3 - i32.mul - local.set $5 - loop $while-continue|0 - local.get $4 - local.get $5 - i32.lt_u - local.set $6 - local.get $6 - if - local.get $0 - local.get $4 - i32.add - local.get $1 - local.get $2 - call $~lib/memory/memory.copy - local.get $4 - local.get $2 - i32.add - local.set $4 - br $while-continue|0 - end - end - ) - (func $~lib/util/string/isSpace (param $0 i32) (result i32) - (local $1 i32) + local.get $4 + i32.gt_s + select + local.tee $4 local.get $0 - i32.const 5760 - i32.lt_u + call $~lib/string/String#get:length + local.tee $3 + local.get $4 + local.get $3 + i32.lt_s + select + local.set $2 + local.get $1 + call $~lib/string/String#get:length + local.set $5 + local.get $2 + local.get $5 + i32.sub + local.set $6 + local.get $6 + i32.const 0 + i32.lt_s if - local.get $0 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $0 - i32.const 9 - i32.sub - i32.const 13 - i32.const 9 - i32.sub - i32.le_u - i32.or + i32.const 0 return end local.get $0 - i32.const 8192 - i32.sub - i32.const 8202 - i32.const 8192 + local.get $6 + local.get $1 + i32.const 0 + local.get $5 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $1 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + i32.eqz + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $4 + local.get $4 + i32.eqz + if + i32.const -1 + return + end + local.get $2 + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.tee $6 + local.get $4 + local.tee $5 + local.get $6 + local.get $5 + i32.lt_s + select + local.set $7 + local.get $4 + local.get $3 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $7 + local.get $4 + i32.le_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $7 + local.get $1 + i32.const 0 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $7 + return + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + i32.const -1 + ) + (func $~lib/string/String#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + ) + (func $~lib/memory/memory.repeat (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 0 + local.set $4 + local.get $2 + local.get $3 + i32.mul + local.set $5 + loop $while-continue|0 + local.get $4 + local.get $5 + i32.lt_u + local.set $6 + local.get $6 + if + local.get $0 + local.get $4 + i32.add + local.get $1 + local.get $2 + call $~lib/memory/memory.copy + local.get $4 + local.get $2 + i32.add + local.set $4 + br $while-continue|0 + end + end + ) + (func $~lib/string/String#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + local.get $1 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + i32.eqz + if + local.get $0 + call $~lib/string/String#get:length + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $4 + local.get $4 + i32.eqz + if + i32.const -1 + return + end + local.get $2 + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.tee $6 + local.get $4 + local.get $3 + i32.sub + local.tee $5 + local.get $6 + local.get $5 + i32.lt_s + select + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $7 + local.get $1 + i32.const 0 + local.get $3 + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $7 + return + end + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end + end + i32.const -1 + ) + (func $~lib/string/String#localeCompare (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + local.get $0 + i32.eq + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + local.get $2 + i32.ne + if + i32.const 1 + i32.const -1 + local.get $2 + local.get $3 + i32.gt_s + select + return + end + local.get $3 + i32.eqz + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $3 + call $~lib/util/string/compareImpl + ) + (func $~lib/util/string/isSpace (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + i32.const 5760 + i32.lt_u + if + local.get $0 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $0 + i32.const 9 + i32.sub + i32.const 13 + i32.const 9 + i32.sub + i32.le_u + i32.or + return + end + local.get $0 + i32.const 8192 + i32.sub + i32.const 8202 + i32.const 8192 i32.sub i32.le_u if @@ -4423,5950 +4841,1799 @@ end i32.const 0 ) - (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result f64) (local $2 i32) (local $3 i32) (local $4 i32) - i32.const 1 - local.set $2 - i32.const 0 - i32.const 1 - i32.lt_s - drop + (local $5 i32) + (local $6 f64) + (local $7 f64) local.get $0 - i32.const 2 - i32.eq + call $~lib/string/String#get:length + local.set $2 + local.get $2 + i32.eqz if i32.const 1 - local.get $1 - i32.shl - i32.const 0 - local.get $1 - i32.const 32 - i32.lt_u - select + drop + f64.const nan:0x8000000000000 return end - local.get $1 - i32.const 0 - i32.le_s + local.get $0 + local.set $3 + local.get $3 + i32.load16_u + local.set $4 + loop $while-continue|0 + local.get $4 + call $~lib/util/string/isSpace + local.set $5 + local.get $5 + if + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u + local.set $4 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + f64.const 1 + local.set $6 + local.get $4 + i32.const 45 + i32.eq + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 43 + i32.eq + end if - local.get $0 - i32.const -1 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.eqz + if + i32.const 1 + drop + f64.const nan:0x8000000000000 + return + end + local.get $4 + i32.const 45 i32.eq if - i32.const -1 + f64.const -1 + local.set $6 + end + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u + local.set $4 + end + local.get $1 + if + local.get $1 + i32.const 2 + i32.lt_s + if (result i32) i32.const 1 + else local.get $1 + i32.const 36 + i32.gt_s + end + if i32.const 1 - i32.and - select + drop + f64.const nan:0x8000000000000 return end local.get $1 - i32.const 0 - i32.eq - local.get $0 - i32.const 1 - i32.eq - i32.or - return - else - local.get $1 - i32.const 1 + i32.const 16 i32.eq if - local.get $0 - return - else - local.get $1 + local.get $2 i32.const 2 - i32.eq - if - local.get $0 - local.get $0 - i32.mul - return + i32.gt_s + if (result i32) + local.get $4 + i32.const 48 + i32.eq else - local.get $1 + i32.const 0 + end + if (result i32) + local.get $3 + i32.load16_u offset=2 i32.const 32 - i32.lt_s - if - i32.const 32 - local.get $1 - i32.clz - i32.sub + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + end + end + else + local.get $4 + i32.const 48 + i32.eq + if (result i32) + local.get $2 + i32.const 2 + i32.gt_s + else + i32.const 0 + end + if + block $break|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $3 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.set $5 + local.get $5 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $5 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $5 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 2 + local.set $1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add local.set $3 - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $3 - local.set $4 - local.get $4 - i32.const 5 - i32.eq - br_if $case0|0 - local.get $4 - i32.const 4 - i32.eq - br_if $case1|0 - local.get $4 - i32.const 3 - i32.eq - br_if $case2|0 - local.get $4 - i32.const 2 - i32.eq - br_if $case3|0 - local.get $4 - i32.const 1 - i32.eq - br_if $case4|0 - br $break|0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - end - local.get $1 - i32.const 1 - i32.and - if - local.get $2 - local.get $0 - i32.mul - local.set $2 - end - end local.get $2 - return + i32.const 2 + i32.sub + local.set $2 + i32.const 8 + local.set $1 + br $break|1 end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 16 + local.set $1 + br $break|1 end end - end - loop $while-continue|1 local.get $1 - local.set $3 - local.get $3 + i32.eqz if - local.get $1 + i32.const 10 + local.set $1 + end + end + f64.const 0 + local.set $7 + block $while-break|2 + loop $while-continue|2 + local.get $2 + local.tee $5 i32.const 1 - i32.and + i32.sub + local.set $2 + local.get $5 + local.set $5 + local.get $5 if - local.get $2 - local.get $0 - i32.mul - local.set $2 + local.get $3 + i32.load16_u + local.set $4 + local.get $4 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $4 + i32.const 48 + i32.sub + local.set $4 + else + local.get $4 + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $4 + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $4 + else + local.get $4 + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $4 + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $4 + end + end + end + local.get $4 + local.get $1 + i32.ge_u + if + local.get $7 + i64.reinterpret_f64 + i64.const 1 + i64.shl + i64.const 2 + i64.sub + i64.const -9007199254740994 + i64.le_u + i32.eqz + if + i32.const 1 + drop + f64.const nan:0x8000000000000 + return + end + br $while-break|2 + end + local.get $7 + local.get $1 + f64.convert_i32_s + f64.mul + local.get $4 + f64.convert_i32_u + f64.add + local.set $7 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|2 end - local.get $1 - i32.const 1 - i32.shr_u - local.set $1 - local.get $0 - local.get $0 - i32.mul - local.set $0 - br $while-continue|1 end end - local.get $2 + local.get $6 + local.get $7 + f64.mul ) - (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) - (local $2 f64) + (func $~lib/string/parseInt (param $0 i32) (param $1 i32) (result f64) + local.get $0 + local.get $1 + call $~lib/util/string/strtol + ) + (func $~lib/number/F32.parseInt (param $0 i32) (param $1 i32) (result f32) + local.get $0 + local.get $1 + call $~lib/util/string/strtol + f32.demote_f64 + ) + (func $~lib/number/F64.parseInt (param $0 i32) (param $1 i32) (result f64) + local.get $0 + local.get $1 + call $~lib/util/string/strtol + ) + (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + call $~lib/string/String#get:length local.set $2 - local.get $1 - i32.const 1023 - i32.gt_s + local.get $2 + i32.eqz if - local.get $2 - f64.const 8988465674311579538646525e283 - f64.mul - local.set $2 - local.get $1 - i32.const 1023 - i32.sub - local.set $1 - local.get $1 - i32.const 1023 - i32.gt_s - if - local.get $2 - f64.const 8988465674311579538646525e283 - f64.mul - local.set $2 - local.get $1 - i32.const 1023 - i32.sub - local.tee $3 - i32.const 1023 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $1 - end - else - local.get $1 - i32.const -1022 - i32.lt_s + i32.const 0 + drop + i32.const 0 + return + end + local.get $0 + local.set $3 + local.get $3 + i32.load16_u + local.set $4 + loop $while-continue|0 + local.get $4 + call $~lib/util/string/isSpace + local.set $5 + local.get $5 if + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u + local.set $4 local.get $2 - f64.const 2.2250738585072014e-308 - f64.const 9007199254740992 - f64.mul - f64.mul - local.set $2 - local.get $1 - i32.const 1022 - i32.const 53 + i32.const 1 i32.sub - i32.add - local.set $1 - local.get $1 - i32.const -1022 - i32.lt_s - if - local.get $2 - f64.const 2.2250738585072014e-308 - f64.const 9007199254740992 - f64.mul - f64.mul - local.set $2 - local.get $1 - i32.const 1022 - i32.add - i32.const 53 - i32.sub - local.tee $4 - i32.const -1022 - local.tee $3 - local.get $4 - local.get $3 - i32.gt_s - select - local.set $1 - end + local.set $2 + br $while-continue|0 end end - local.get $2 - i64.const 1023 - local.get $1 - i64.extend_i32_s - i64.add - i64.const 52 - i64.shl - f64.reinterpret_i64 - f64.mul - ) - (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.const 20 - i32.sub - local.set $2 - local.get $1 - local.get $2 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/Object#set:rtSize - local.get $0 - return - end - local.get $1 - local.get $2 - i32.load offset=12 - call $~lib/rt/itcms/__new - local.set $3 - local.get $3 - local.get $0 - local.get $1 - local.tee $4 - local.get $2 - i32.load offset=16 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - call $~lib/memory/memory.copy - local.get $3 - ) - (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - i32.const 1 - drop - local.get $0 - local.get $2 i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load offset=8 - local.set $3 - local.get $1 - local.get $3 - local.get $2 - i32.shr_u - i32.gt_u + local.set $6 + local.get $4 + i32.const 45 + i32.eq + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 43 + i32.eq + end if - local.get $1 - i32.const 1073741820 local.get $2 - i32.shr_u - i32.gt_u + i32.const 1 + i32.sub + local.tee $2 + i32.eqz if - i32.const 12624 - i32.const 14224 - i32.const 14 - i32.const 48 - call $~lib/builtins/abort - unreachable + i32.const 0 + drop + i32.const 0 + return end - local.get $0 - i32.load - local.set $4 - local.get $1 - local.get $2 - i32.shl - local.set $5 local.get $4 - local.get $5 - call $~lib/rt/itcms/__renew - local.set $6 - local.get $6 + i32.const 45 + i32.eq + if + i32.const -1 + local.set $6 + end local.get $3 + i32.const 2 i32.add - i32.const 0 - local.get $5 - local.get $3 - i32.sub - call $~lib/memory/memory.fill - local.get $6 - local.get $4 - i32.ne + local.tee $3 + i32.load16_u + local.set $4 + end + local.get $1 + if + local.get $1 + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end if - local.get $0 - local.get $6 - i32.store - local.get $0 - local.get $6 - i32.store offset=4 - local.get $0 - local.get $6 i32.const 0 - call $~lib/rt/itcms/__link + drop + i32.const 0 + return end - local.get $0 - local.get $5 - i32.store offset=8 - end - ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - i32.store offset=12 - ) - (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load offset=12 - local.set $2 - local.get $2 - i32.const 1 - i32.add - local.set $3 - local.get $0 - local.get $3 - i32.const 2 - call $~lib/array/ensureSize - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $3 - ) - (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) - local.get $0 - i32.const 100000 - i32.lt_u - if - local.get $0 - i32.const 100 - i32.lt_u + local.get $1 + i32.const 16 + i32.eq if - i32.const 1 - local.get $0 - i32.const 10 - i32.ge_u - i32.add - return - else - i32.const 3 - local.get $0 - i32.const 10000 - i32.ge_u - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add - return + local.get $2 + i32.const 2 + i32.gt_s + if (result i32) + local.get $4 + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $3 + i32.load16_u offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + end end - unreachable else - local.get $0 - i32.const 10000000 - i32.lt_u - if - i32.const 6 - local.get $0 - i32.const 1000000 - i32.ge_u - i32.add - return + local.get $4 + i32.const 48 + i32.eq + if (result i32) + local.get $2 + i32.const 2 + i32.gt_s else - i32.const 8 - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u - i32.add - return + i32.const 0 + end + if + block $break|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $3 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.set $5 + local.get $5 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $5 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $5 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 2 + local.set $1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 8 + local.set $1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 16 + local.set $1 + br $break|1 + end end - unreachable - end - unreachable - ) - (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - loop $while-continue|0 local.get $1 - i32.const 10000 - i32.ge_u - local.set $3 - local.get $3 + i32.eqz if - local.get $1 - i32.const 10000 - i32.div_u - local.set $4 - local.get $1 - i32.const 10000 - i32.rem_u - local.set $5 - local.get $4 + i32.const 10 local.set $1 - local.get $5 - i32.const 100 - i32.div_u - local.set $6 - local.get $5 - i32.const 100 - i32.rem_u - local.set $7 - i32.const 14780 - local.get $6 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $8 - i32.const 14780 - local.get $7 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $9 + end + end + i32.const 0 + local.set $7 + block $while-break|2 + loop $while-continue|2 local.get $2 - i32.const 4 + local.tee $5 + i32.const 1 i32.sub local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $9 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 - end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $1 - i32.const 100 - i32.div_u - local.set $3 - local.get $1 - i32.const 100 - i32.rem_u - local.set $10 - local.get $3 - local.set $1 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 14780 - local.get $10 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $1 - i32.const 10 - i32.ge_u - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 14780 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - else - local.get $2 - i32.const 1 - i32.sub - local.set $2 - i32.const 48 - local.get $1 - i32.add - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 - end - ) - (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $2 - i32.const 2 - i32.ge_u - local.set $3 - local.get $3 - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 15200 - local.get $1 - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - i32.store - local.get $1 - i64.const 8 - i64.shr_u - local.set $1 - br $while-continue|0 + local.get $5 + local.set $5 + local.get $5 + if + local.get $3 + i32.load16_u + local.set $4 + local.get $4 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $4 + i32.const 48 + i32.sub + local.set $4 + else + local.get $4 + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $4 + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $4 + else + local.get $4 + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $4 + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $4 + end + end + end + local.get $4 + local.get $1 + i32.ge_u + if + local.get $7 + i32.eqz + if + i32.const 0 + drop + i32.const 0 + return + end + br $while-break|2 + end + local.get $7 + local.get $1 + i32.mul + local.get $4 + i32.add + local.set $7 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|2 + end end end - local.get $2 - i32.const 1 - i32.and - if - local.get $0 - i32.const 15200 - local.get $1 - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u - i32.store16 - end + local.get $6 + local.get $7 + i32.mul ) - (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) + (func $~lib/number/I32.parseInt (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/util/string/strtol + ) + (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result i64) (local $2 i32) - (local $3 i64) - (local $4 i64) + (local $3 i32) + (local $4 i32) (local $5 i32) - local.get $1 + (local $6 i64) + (local $7 i64) + local.get $0 + call $~lib/string/String#get:length local.set $2 local.get $2 - i32.popcnt - i32.const 1 - i32.eq + i32.eqz if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $1 - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add + i32.const 0 + drop + i64.const 0 return end - local.get $1 - i64.extend_i32_s + local.get $0 local.set $3 local.get $3 + i32.load16_u local.set $4 - i32.const 1 - local.set $5 loop $while-continue|0 - local.get $0 local.get $4 - i64.ge_u - local.set $2 - local.get $2 + call $~lib/util/string/isSpace + local.set $5 + local.get $5 if - local.get $0 - local.get $4 - i64.div_u - local.set $0 - local.get $4 - local.get $4 - i64.mul + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u local.set $4 - local.get $5 + local.get $2 i32.const 1 - i32.shl - local.set $5 + i32.sub + local.set $2 br $while-continue|0 end end - loop $while-continue|1 - local.get $0 - i64.const 1 - i64.ge_u - local.set $2 - local.get $2 - if - local.get $0 - local.get $3 - i64.div_u - local.set $0 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $while-continue|1 - end - end - local.get $5 - i32.const 1 - i32.sub - ) - (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - local.get $3 - i64.extend_i32_s - local.set $4 - local.get $3 - local.get $3 - i32.const 1 - i32.sub - i32.and - i32.const 0 + i64.const 1 + local.set $6 + local.get $4 + i32.const 45 i32.eq - if - local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $5 + if (result i32) + i32.const 1 + else local.get $4 - i64.const 1 - i64.sub - local.set $6 - loop $do-continue|0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 16256 - local.get $1 - local.get $6 - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $1 - local.get $5 - i64.shr_u - local.set $1 - local.get $1 + i32.const 43 + i32.eq + end + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.eqz + if + i32.const 0 + drop i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|0 + return end - else - loop $do-continue|1 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $4 - i64.div_u + local.get $4 + i32.const 45 + i32.eq + if + i64.const -1 local.set $6 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 16256 - local.get $1 - local.get $6 - local.get $4 - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $6 - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|1 end + local.get $3 + i32.const 2 + i32.add + local.tee $3 + i32.load16_u + local.set $4 end - ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) - local.get $0 - i64.const 1000000000000000 - i64.lt_u + local.get $1 if - local.get $0 - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - return + local.get $1 + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 else - i32.const 13 - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - return + local.get $1 + i32.const 36 + i32.gt_s end - unreachable - else - local.get $0 - i64.const 100000000000000000 - i64.lt_u if - i32.const 16 - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add + i32.const 0 + drop + i64.const 0 return end - unreachable - end - unreachable - ) - (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i64) - (local $13 i64) - loop $while-continue|0 local.get $1 - i64.const 100000000 - i64.ge_u - local.set $3 - local.get $3 + i32.const 16 + i32.eq if - local.get $1 - i64.const 100000000 - i64.div_u - local.set $4 - local.get $1 - local.get $4 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 10000 - i32.div_u - local.set $6 - local.get $5 - i32.const 10000 - i32.rem_u - local.set $7 - local.get $6 - i32.const 100 - i32.div_u - local.set $8 - local.get $6 - i32.const 100 - i32.rem_u - local.set $9 - local.get $7 - i32.const 100 - i32.div_u - local.set $10 - local.get $7 - i32.const 100 - i32.rem_u - local.set $11 - i32.const 14780 - local.get $10 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 14780 - local.get $11 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - i32.const 14780 - local.get $8 i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 14780 - local.get $9 + i32.gt_s + if (result i32) + local.get $4 + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $3 + i32.load16_u offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + end + end + else + local.get $4 + i32.const 48 + i32.eq + if (result i32) + local.get $2 i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 + i32.gt_s + else + i32.const 0 + end + if + block $break|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $3 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.set $5 + local.get $5 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $5 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $5 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 2 + local.set $1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 8 + local.set $1 + br $break|1 + end + local.get $3 + i32.const 4 + i32.add + local.set $3 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 16 + local.set $1 + br $break|1 + end + end + local.get $1 + i32.eqz + if + i32.const 10 + local.set $1 + end + end + i64.const 0 + local.set $7 + block $while-break|2 + loop $while-continue|2 local.get $2 - i32.const 4 + local.tee $5 + i32.const 1 i32.sub local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 + local.get $5 + local.set $5 + local.get $5 + if + local.get $3 + i32.load16_u + local.set $4 + local.get $4 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $4 + i32.const 48 + i32.sub + local.set $4 + else + local.get $4 + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $4 + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $4 + else + local.get $4 + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $4 + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $4 + end + end + end + local.get $4 + local.get $1 + i32.ge_u + if + local.get $7 + i64.const 0 + i64.ne + i32.eqz + if + i32.const 0 + drop + i64.const 0 + return + end + br $while-break|2 + end + local.get $7 + local.get $1 + i64.extend_i32_s + i64.mul + local.get $4 + i64.extend_i32_u + i64.add + local.set $7 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|2 + end end end + local.get $6 + local.get $7 + i64.mul + ) + (func $~lib/number/I64.parseInt (param $0 i32) (param $1 i32) (result i64) local.get $0 local.get $1 - i32.wrap_i64 - local.get $2 - call $~lib/util/number/utoa32_dec_lut + call $~lib/util/string/strtol ) - (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i64) + (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + i32.const 1 + local.set $2 i32.const 0 - local.get $4 - i32.sub - local.set $7 - i64.const 1 - local.get $7 - i64.extend_i32_s - i64.shl - local.set $8 - local.get $8 - i64.const 1 - i64.sub - local.set $9 - local.get $3 + i32.const 1 + i32.lt_s + drop + local.get $0 + i32.const 2 + i32.eq + if + i32.const 1 + local.get $1 + i32.shl + i32.const 0 + local.get $1 + i32.const 32 + i32.lt_u + select + return + end local.get $1 - i64.sub - local.set $10 - local.get $3 - local.get $7 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $11 - local.get $3 - local.get $9 - i64.and - local.set $12 - local.get $11 - call $~lib/util/number/decimalCount32 - local.set $13 - local.get $6 - local.set $14 - loop $while-continue|0 - local.get $13 + i32.const 0 + i32.le_s + if + local.get $0 + i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $1 + i32.const 1 + i32.and + select + return + end + local.get $1 i32.const 0 - i32.gt_s - local.set $15 - local.get $15 + i32.eq + local.get $0 + i32.const 1 + i32.eq + i32.or + return + else + local.get $1 + i32.const 1 + i32.eq if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $13 - local.set $17 - local.get $17 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $17 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $17 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $17 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $17 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $17 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $17 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $17 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $17 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $17 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $11 - i32.const 1000000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 1000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000 - i32.rem_u - local.set $11 - br $break|1 + local.get $0 + return + else + local.get $1 + i32.const 2 + i32.eq + if + local.get $0 + local.get $0 + i32.mul + return + else + local.get $1 + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $1 + i32.clz + i32.sub + local.set $3 + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $3 + local.set $4 + local.get $4 + i32.const 5 + i32.eq + br_if $case0|0 + local.get $4 + i32.const 4 + i32.eq + br_if $case1|0 + local.get $4 + i32.const 3 + i32.eq + br_if $case2|0 + local.get $4 + i32.const 2 + i32.eq + br_if $case3|0 + local.get $4 + i32.const 1 + i32.eq + br_if $case4|0 + br $break|0 end - local.get $11 - i32.const 100000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000 - i32.rem_u - local.set $11 - br $break|1 + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $11 - i32.const 10000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000 - i32.rem_u - local.set $11 - br $break|1 + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $11 - i32.const 1000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000 - i32.rem_u - local.set $11 - br $break|1 + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 end - local.get $11 - i32.const 100 - i32.div_u - local.set $16 - local.get $11 - i32.const 100 - i32.rem_u - local.set $11 - br $break|1 + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 + end + local.get $1 + i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + end + local.get $1 + i32.const 1 + i32.and + if + local.get $2 + local.get $0 + i32.mul + local.set $2 end - local.get $11 - i32.const 10 - i32.div_u - local.set $16 - local.get $11 - i32.const 10 - i32.rem_u - local.set $11 - br $break|1 end - local.get $11 - local.set $16 - i32.const 0 - local.set $11 - br $break|1 + local.get $2 + return end - i32.const 0 - local.set $16 - br $break|1 end - local.get $16 - local.get $14 - i32.or + end + end + loop $while-continue|1 + local.get $1 + local.set $3 + local.get $3 + if + local.get $1 + i32.const 1 + i32.and if + local.get $2 local.get $0 - local.get $14 - local.tee $17 - i32.const 1 - i32.add - local.set $14 - local.get $17 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $16 - i32.const 65535 - i32.and - i32.add - i32.store16 + i32.mul + local.set $2 end - local.get $13 + local.get $1 i32.const 1 + i32.shr_u + local.set $1 + local.get $0 + local.get $0 + i32.mul + local.set $0 + br $while-continue|1 + end + end + local.get $2 + ) + (func $~lib/math/NativeMath.scalbn (param $0 f64) (param $1 i32) (result f64) + (local $2 f64) + (local $3 i32) + (local $4 i32) + local.get $0 + local.set $2 + local.get $1 + i32.const 1023 + i32.gt_s + if + local.get $2 + f64.const 8988465674311579538646525e283 + f64.mul + local.set $2 + local.get $1 + i32.const 1023 + i32.sub + local.set $1 + local.get $1 + i32.const 1023 + i32.gt_s + if + local.get $2 + f64.const 8988465674311579538646525e283 + f64.mul + local.set $2 + local.get $1 + i32.const 1023 i32.sub - local.set $13 - local.get $11 - i64.extend_i32_u - local.get $7 - i64.extend_i32_s - i64.shl - local.get $12 - i64.add - local.set $18 - local.get $18 - local.get $5 - i64.le_u + local.tee $3 + i32.const 1023 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + local.set $1 + end + else + local.get $1 + i32.const -1022 + i32.lt_s + if + local.get $2 + f64.const 2.2250738585072014e-308 + f64.const 9007199254740992 + f64.mul + f64.mul + local.set $2 + local.get $1 + i32.const 1022 + i32.const 53 + i32.sub + i32.add + local.set $1 + local.get $1 + i32.const -1022 + i32.lt_s if - global.get $~lib/util/number/_K - local.get $13 + local.get $2 + f64.const 2.2250738585072014e-308 + f64.const 9007199254740992 + f64.mul + f64.mul + local.set $2 + local.get $1 + i32.const 1022 i32.add - global.set $~lib/util/number/_K - local.get $0 - local.set $23 - local.get $14 - local.set $17 - local.get $5 - local.set $22 - local.get $18 - local.set $21 - i32.const 22768 - local.get $13 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.get $7 - i64.extend_i32_s - i64.shl - local.set $20 - local.get $10 - local.set $19 - local.get $23 - local.get $17 - i32.const 1 + i32.const 53 i32.sub - i32.const 1 - i32.shl - i32.add - local.set $24 - local.get $24 - i32.load16_u - local.set $25 - loop $while-continue|3 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $22 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $26 - local.get $26 - if - local.get $25 - i32.const 1 - i32.sub - local.set $25 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|3 - end - end - local.get $24 - local.get $25 - i32.store16 - local.get $14 - return + local.tee $4 + i32.const -1022 + local.tee $3 + local.get $4 + local.get $3 + i32.gt_s + select + local.set $1 end + end + end + local.get $2 + i64.const 1023 + local.get $1 + i64.extend_i32_s + i64.add + i64.const 52 + i64.shl + f64.reinterpret_i64 + f64.mul + ) + (func $~lib/util/string/strtod (param $0 i32) (result f64) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i64) + (local $18 f64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + local.get $0 + call $~lib/string/String#get:length + local.set $1 + local.get $1 + i32.eqz + if + f64.const nan:0x8000000000000 + return + end + local.get $0 + local.set $2 + local.get $2 + i32.load16_u + local.set $3 + f64.const 1 + local.set $4 + loop $while-continue|0 + local.get $1 + if (result i32) + local.get $3 + call $~lib/util/string/isSpace + else + i32.const 0 + end + local.set $5 + local.get $5 + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $3 + local.get $1 + i32.const 1 + i32.sub + local.set $1 br $while-continue|0 end end - loop $while-continue|4 + local.get $1 + i32.eqz + if + f64.const nan:0x8000000000000 + return + end + local.get $3 + i32.const 45 + i32.eq + if + local.get $1 i32.const 1 - local.set $15 - local.get $15 + i32.sub + local.tee $1 + i32.eqz if - local.get $12 - i64.const 10 - i64.mul - local.set $12 - local.get $5 - i64.const 10 - i64.mul - local.set $5 - local.get $12 - local.get $7 - i64.extend_i32_s - i64.shr_u - local.set $22 - local.get $22 - local.get $14 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $0 - local.get $14 - local.tee $25 - i32.const 1 - i32.add - local.set $14 - local.get $25 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $22 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.add - i32.store16 - end - local.get $12 - local.get $9 - i64.and - local.set $12 - local.get $13 + f64.const nan:0x8000000000000 + return + end + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $3 + f64.const -1 + local.set $4 + else + local.get $3 + i32.const 43 + i32.eq + if + local.get $1 i32.const 1 i32.sub - local.set $13 - local.get $12 - local.get $5 - i64.lt_u + local.tee $1 + i32.eqz if - global.get $~lib/util/number/_K - local.get $13 - i32.add - global.set $~lib/util/number/_K - local.get $10 - i32.const 22768 - i32.const 0 - local.get $13 - i32.sub - i32.const 2 - i32.shl - i32.add - i64.load32_u - i64.mul - local.set $10 - local.get $0 - local.set $17 - local.get $14 - local.set $26 - local.get $5 - local.set $27 - local.get $12 - local.set $21 - local.get $8 - local.set $20 - local.get $10 - local.set $19 - local.get $17 - local.get $26 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $25 - local.get $25 - i32.load16_u - local.set $24 - loop $while-continue|6 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $27 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $23 - local.get $23 - if - local.get $24 - i32.const 1 - i32.sub - local.set $24 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|6 - end - end - local.get $25 - local.get $24 - i32.store16 - local.get $14 + f64.const nan:0x8000000000000 return end - br $while-continue|4 + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $3 end end - unreachable - ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $2 - i32.eqz - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 2 - i32.add - return - end - local.get $1 - local.get $2 - i32.add - local.set $3 local.get $1 - local.get $3 - i32.le_s + i32.const 8 + i32.ge_s if (result i32) local.get $3 - i32.const 21 - i32.le_s + i32.const 73 + i32.eq else i32.const 0 end if - local.get $1 - local.set $4 - loop $for-loop|0 + local.get $2 + i64.load + i64.const 29555310648492105 + i64.eq + if (result i32) + local.get $2 + i64.load offset=8 + i64.const 34058970405077102 + i64.eq + else + i32.const 0 + end + if + f64.const inf local.get $4 - local.get $3 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + f64.mul + return end - local.get $0 + f64.const nan:0x8000000000000 + return + end + local.get $3 + i32.const 46 + i32.ne + if (result i32) local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 46 i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $3 - i32.const 2 - i32.add - return + i32.sub + i32.const 10 + i32.ge_u else - local.get $3 i32.const 0 - i32.gt_s - if (result i32) - local.get $3 - i32.const 21 - i32.le_s - else - i32.const 0 - end + end + if + f64.const nan:0x8000000000000 + return + end + local.get $2 + local.set $6 + loop $while-continue|1 + local.get $3 + i32.const 48 + i32.eq + local.set $5 + local.get $5 if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $4 - local.get $4 - i32.const 2 - i32.add - local.get $4 - i32.const 0 local.get $2 - i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - local.get $3 - i32.const 1 - i32.shl + i32.const 2 i32.add - i32.const 46 - i32.store16 + local.tee $2 + i32.load16_u + local.set $3 local.get $1 i32.const 1 - i32.add - return - else - i32.const -6 - local.get $3 - i32.lt_s - if (result i32) - local.get $3 - i32.const 0 - i32.le_s - else - i32.const 0 - end - if - i32.const 2 - local.get $3 - i32.sub - local.set $4 - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $0 + i32.sub + local.set $1 + br $while-continue|1 + end + end + local.get $1 + i32.const 0 + i32.le_s + if + f64.const 0 + return + end + i32.const 0 + local.set $7 + i32.const 0 + local.set $8 + i32.const 0 + local.set $9 + i64.const 0 + local.set $10 + local.get $3 + i32.const 46 + i32.eq + if + local.get $6 + local.get $2 + i32.sub + i32.eqz + local.set $5 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + local.get $1 + i32.eqz + if (result i32) + local.get $5 + else + i32.const 0 + end + if + f64.const nan:0x8000000000000 + return + end + i32.const 1 + local.set $7 + loop $for-loop|2 + local.get $2 + i32.load16_u + local.tee $3 + i32.const 48 + i32.eq + local.set $11 + local.get $11 + if local.get $1 i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 48 - i32.const 46 - i32.const 16 - i32.shl - i32.or - i32.store + i32.sub + local.set $1 + local.get $9 + i32.const 1 + i32.sub + local.set $9 + local.get $2 i32.const 2 - local.set $5 - loop $for-loop|1 - local.get $5 - local.get $4 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|1 - end - end - local.get $1 - local.get $4 i32.add - return - else - local.get $1 + local.set $2 + br $for-loop|2 + end + end + local.get $1 + i32.const 0 + i32.le_s + if + f64.const 0 + return + end + local.get $9 + i32.eqz + if (result i32) + local.get $5 + else + i32.const 0 + end + if (result i32) + local.get $3 + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + else + i32.const 0 + end + if + f64.const nan:0x8000000000000 + return + end + end + local.get $3 + i32.const 48 + i32.sub + local.set $5 + block $for-break3 + loop $for-loop|3 + local.get $5 + i32.const 10 + i32.lt_u + if (result i32) i32.const 1 + else + local.get $3 + i32.const 46 i32.eq - if - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - i32.const 4 - i32.add - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - local.get $6 + if (result i32) + local.get $7 + i32.eqz + else i32.const 0 + end + end + local.set $11 + local.get $11 + if + local.get $5 + i32.const 10 + i32.lt_u + if + local.get $8 + i32.const 19 i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - local.get $6 - i32.sub - local.set $6 + if (result i64) + i64.const 10 + local.get $10 + i64.mul + local.get $5 + i64.extend_i32_u + i64.add + else + local.get $10 + local.get $5 + i32.eqz + i32.eqz + i64.extend_i32_u + i64.or end - local.get $6 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $7 - local.get $5 local.set $10 - local.get $6 - local.set $9 - local.get $7 - local.set $8 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $10 - local.get $9 local.get $8 - call $~lib/util/number/utoa32_dec_lut - local.get $5 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $7 - local.set $1 - local.get $1 - i32.const 2 + i32.const 1 i32.add - return + local.set $8 else - local.get $1 + local.get $8 + local.set $9 i32.const 1 - i32.shl local.set $7 - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.const 2 - i32.add - local.get $7 - i32.const 2 - i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - local.get $7 - i32.add - i32.const 101 - i32.store16 offset=2 - local.get $1 - local.get $0 - local.get $7 - i32.add - i32.const 4 - i32.add - local.set $9 - local.get $3 + end + local.get $1 + i32.const 1 + i32.sub + local.tee $1 + i32.eqz + if + br $for-break3 + end + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $3 + local.get $3 + i32.const 48 + i32.sub + local.set $5 + br $for-loop|3 + end + end + end + local.get $7 + i32.eqz + if + local.get $8 + local.set $9 + end + block $~lib/util/string/scientific|inlined.0 (result f64) + local.get $10 + local.set $17 + local.get $9 + i32.const 19 + local.tee $11 + local.get $8 + local.tee $5 + local.get $11 + local.get $5 + i32.lt_s + select + i32.sub + block $~lib/util/string/parseExp|inlined.0 (result i32) + local.get $2 + local.set $11 + local.get $1 + local.set $5 + i32.const 1 + local.set $12 + i32.const 0 + local.set $13 + local.get $11 + i32.load16_u + local.set $14 + local.get $14 + i32.const 32 + i32.or + i32.const 101 + i32.ne + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.eqz + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $11 + i32.const 2 + i32.add + local.tee $11 + i32.load16_u + local.set $14 + local.get $14 + i32.const 45 + i32.eq + if + local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.eqz + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $11 + i32.const 2 + i32.add + local.tee $11 + i32.load16_u + local.set $14 + i32.const -1 + local.set $12 + else + local.get $14 + i32.const 43 + i32.eq + if + local.get $5 i32.const 1 i32.sub - local.set $8 - local.get $8 - i32.const 0 - i32.lt_s - local.set $4 - local.get $4 + local.tee $5 + i32.eqz if i32.const 0 - local.get $8 - i32.sub - local.set $8 + br $~lib/util/string/parseExp|inlined.0 end - local.get $8 - call $~lib/util/number/decimalCount32 - i32.const 1 + local.get $11 + i32.const 2 i32.add - local.set $5 - local.get $9 - local.set $11 - local.get $8 - local.set $6 + local.tee $11 + i32.load16_u + local.set $14 + end + end + loop $while-continue|4 + local.get $14 + i32.const 48 + i32.eq + local.set $15 + local.get $15 + if local.get $5 - local.set $10 - i32.const 0 i32.const 1 - i32.ge_s - drop + i32.sub + local.tee $5 + i32.eqz + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end local.get $11 - local.get $6 - local.get $10 - call $~lib/util/number/utoa32_dec_lut - local.get $9 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $5 + i32.const 2 i32.add - local.set $1 - local.get $1 + local.tee $11 + i32.load16_u + local.set $14 + br $while-continue|4 + end + end + local.get $14 + i32.const 48 + i32.sub + local.set $15 + loop $for-loop|5 + local.get $5 + if (result i32) + local.get $15 + i32.const 10 + i32.lt_u + else + i32.const 0 + end + local.set $16 + local.get $16 + if + local.get $13 + i32.const 3200 + i32.ge_s + if + local.get $12 + i32.const 3200 + i32.mul + br $~lib/util/string/parseExp|inlined.0 + end + i32.const 10 + local.get $13 + i32.mul + local.get $15 + i32.add + local.set $13 + local.get $11 i32.const 2 i32.add - return + local.tee $11 + i32.load16_u + local.set $14 + local.get $5 + i32.const 1 + i32.sub + local.set $5 + local.get $14 + i32.const 48 + i32.sub + local.set $15 + br $for-loop|5 end - unreachable end - unreachable - end - unreachable - end - unreachable - ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i64) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i64) - (local $26 i32) - (local $27 i64) - (local $28 i32) - local.get $1 - f64.const 0 - f64.lt - local.set $2 - local.get $2 - if - local.get $1 - f64.neg - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - local.get $1 - local.set $5 - local.get $0 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $6 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $7 - local.get $6 - i64.const 4503599627370495 - i64.and - local.set $8 - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $8 - i64.add - local.set $9 - local.get $7 - i32.const 1 - local.get $7 - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $7 - local.get $9 - local.set $11 - local.get $7 - local.set $10 - local.get $11 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $12 - local.get $10 - i32.const 1 - i32.sub - local.set $13 - local.get $12 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $12 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $12 - local.get $13 - local.get $14 - i32.sub - local.set $13 - i32.const 1 - local.get $11 - i64.const 4503599627370496 - i64.eq - i32.add - local.set $15 - local.get $12 - global.set $~lib/util/number/_frc_plus - local.get $11 - local.get $15 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $10 - local.get $15 - i32.sub - local.get $13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $10 - i32.const -61 - local.get $10 - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $16 - local.get $16 - i32.trunc_f64_s - local.set $15 - local.get $15 - local.get $15 - f64.convert_i32_s - local.get $16 - f64.ne - i32.add - local.set $15 - local.get $15 - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $14 - i32.const 348 - local.get $14 - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 21896 - local.get $14 - i32.const 3 - i32.shl - i32.add - i64.load - global.set $~lib/util/number/_frc_pow - i32.const 22592 - local.get $14 - i32.const 1 - i32.shl - i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - local.get $9 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $9 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $9 - local.get $7 - local.get $14 - i32.sub - local.set $7 - global.get $~lib/util/number/_frc_pow - local.set $12 - global.get $~lib/util/number/_exp_pow - local.set $15 - local.get $9 - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $24 - local.get $24 - i64.const 2147483647 - i64.add - local.set $24 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $24 - i64.const 32 - i64.shr_u - local.set $24 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $24 - i64.add - local.set $24 - local.get $7 - local.set $10 - local.get $15 - local.set $13 - local.get $10 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $10 - global.get $~lib/util/number/_frc_plus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $23 - local.get $11 - i64.const 4294967295 - i64.and - local.set $22 - local.get $17 - i64.const 32 - i64.shr_u - local.set $21 - local.get $11 - i64.const 32 - i64.shr_u - local.set $20 - local.get $23 - local.get $22 - i64.mul - local.set $19 - local.get $21 - local.get $22 - i64.mul - local.get $19 - i64.const 32 - i64.shr_u - i64.add - local.set $18 - local.get $23 - local.get $20 - i64.mul - local.get $18 - i64.const 4294967295 - i64.and - i64.add - local.set $25 - local.get $25 - i64.const 2147483647 - i64.add - local.set $25 - local.get $18 - i64.const 32 - i64.shr_u - local.set $18 - local.get $25 - i64.const 32 - i64.shr_u - local.set $25 - local.get $21 - local.get $20 - i64.mul - local.get $18 - i64.add - local.get $25 - i64.add - i64.const 1 - i64.sub - local.set $25 - global.get $~lib/util/number/_exp - local.set $26 - local.get $15 - local.set $13 - local.get $26 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $26 - global.get $~lib/util/number/_frc_minus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $27 - local.get $27 - i64.const 2147483647 - i64.add - local.set $27 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $27 - i64.const 32 - i64.shr_u - local.set $27 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $27 - i64.add - i64.const 1 - i64.add - local.set $27 - local.get $25 - local.get $27 - i64.sub - local.set $23 - local.get $4 - local.get $24 - local.get $10 - local.get $25 - local.get $26 - local.get $23 - local.get $3 - call $~lib/util/number/genDigits - local.set $28 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $28 - local.get $2 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $28 - local.get $28 - local.get $2 - i32.add - ) - (func $~lib/rt/itcms/__collect - (local $0 i32) - i32.const 0 - drop - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - drop - ) - (func $std/string/getString (result i32) - global.get $std/string/str - ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $std/string/str - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/string/nullStr - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 240 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 12624 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 14272 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 352 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 15200 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 16256 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - i32.const 1 - drop - local.get $0 - i32.load offset=4 - local.set $2 - local.get $2 - local.get $0 - i32.load offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|0 - local.get $2 - local.get $3 - i32.lt_u - local.set $4 - local.get $4 - if - local.get $2 - i32.load - local.set $5 - local.get $5 - if - local.get $5 - local.get $1 - call $~lib/rt/itcms/__visit - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return - end - unreachable - ) - (func $~start - call $start:std/string - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 41264 - i32.const 41312 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#charCodeAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $1 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/string/String#get:length - i32.ge_u - if - i32.const -1 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - end - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - local.get $2 - i32.ge_u - if - i32.const -1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $3 - local.get $3 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1 - i32.add - local.get $2 - i32.eq - end - if - local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u offset=2 - local.set $4 - local.get $4 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - if - local.get $3 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $3 - i32.const 55296 - i32.sub - i32.const 10 - i32.shl - local.get $4 - i32.const 56320 - i32.sub - i32.add - i32.const 65536 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/string/String#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - i32.const 0 - local.get $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.set $1 - local.get $1 - local.get $2 - i32.ge_u - if - i32.const 240 - i32.const 304 - i32.const 54 - i32.const 31 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.set $3 - local.get $3 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ge_u - if - i32.const 688 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $2 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String.__not (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - call $~lib/string/String#get:length - i32.eqz - end - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/string/String.fromCharCodes (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store16 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/string/String#startsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 1184 - local.tee $1 - i32.store - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/string/String#get:length - local.set $3 - local.get $2 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/string/String#get:length - local.set $7 - local.get $7 - local.get $6 - i32.add - local.get $3 - i32.gt_s - if - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $6 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - i32.const 0 - local.get $7 - call $~lib/util/string/compareImpl - i32.eqz - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/string/String#endsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 0 - i32.eq - if - i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $2 - local.tee $3 - i32.const 0 - local.tee $4 - local.get $3 - local.get $4 - i32.gt_s - select - local.tee $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length - local.tee $3 - local.get $4 - local.get $3 - i32.lt_s - select - local.set $2 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length - local.set $5 - local.get $2 - local.get $5 - i32.sub - local.set $6 - local.get $6 - i32.const 0 - i32.lt_s - if - i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $6 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - local.get $5 - call $~lib/util/string/compareImpl - i32.eqz - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $3 - local.get $3 - i32.eqz - if - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $4 - local.get $4 - i32.eqz - if - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $2 - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $6 - local.get $4 - local.tee $5 - local.get $6 - local.get $5 - i32.lt_s - select - local.set $7 - local.get $4 - local.get $3 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $7 - local.get $4 - i32.le_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $7 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - if - local.get $7 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/string/String#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $2 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#padStart (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 - local.get $1 - i32.const 1 - i32.shl - local.set $4 - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $5 - local.get $4 - local.get $3 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $5 - i32.eqz - end - if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $4 - local.get $3 - i32.sub - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - local.get $6 - local.get $5 - i32.gt_u - if - local.get $6 - i32.const 2 - i32.sub - local.get $5 - i32.div_u - local.set $8 - local.get $8 - local.get $5 - i32.mul - local.set $9 - local.get $6 - local.get $9 - i32.sub - local.set $10 - local.get $7 - local.get $2 - local.get $5 - local.get $8 - call $~lib/memory/memory.repeat - local.get $7 - local.get $9 - i32.add - local.get $2 - local.get $10 - call $~lib/memory/memory.copy - else - local.get $7 - local.get $2 - local.get $6 - call $~lib/memory/memory.copy - end - local.get $7 - local.get $6 - i32.add - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/string/String#padEnd (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 - local.get $1 - i32.const 1 - i32.shl - local.set $4 - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $5 - local.get $4 - local.get $3 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $5 - i32.eqz - end - if - local.get $0 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $4 - local.get $3 - i32.sub - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - local.get $7 - local.get $0 - local.get $3 - call $~lib/memory/memory.copy - local.get $6 - local.get $5 - i32.gt_u - if - local.get $6 - i32.const 2 - i32.sub - local.get $5 - i32.div_u - local.set $8 - local.get $8 - local.get $5 - i32.mul - local.set $9 - local.get $6 - local.get $9 - i32.sub - local.set $10 - local.get $7 - local.get $3 - i32.add - local.get $2 - local.get $5 - local.get $8 - call $~lib/memory/memory.repeat - local.get $7 - local.get $3 - i32.add - local.get $9 - i32.add - local.get $2 - local.get $10 - call $~lib/memory/memory.copy - else - local.get $7 - local.get $3 - i32.add - local.get $2 - local.get $6 - call $~lib/memory/memory.copy - end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/string/String#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $3 - local.get $3 - i32.eqz - if - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $4 - local.get $4 - i32.eqz - if - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $2 - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $6 - local.get $4 - local.get $3 - i32.sub - local.tee $5 - local.get $6 - local.get $5 - i32.lt_s - select - local.set $7 - loop $for-loop|0 - local.get $7 - i32.const 0 - i32.ge_s - local.set $6 - local.get $6 - if - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - local.get $7 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz - if - local.get $7 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end - end - i32.const -1 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/string/String#localeCompare (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - local.get $0 - i32.eq - if - i32.const 0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/string/String#get:length - local.set $3 - local.get $3 - local.get $2 - i32.ne - if - i32.const 1 - i32.const -1 - local.get $2 - local.get $3 - i32.gt_s - select - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - local.get $3 - i32.eqz - if - i32.const 0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 0 - local.get $1 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - local.get $3 - call $~lib/util/string/compareImpl - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/string/String#trimStart (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $1 - i32.const 0 - local.set $2 - loop $while-continue|0 - local.get $2 - local.get $1 - i32.lt_u - if (result i32) - local.get $0 - local.get $2 - i32.add - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - local.set $3 - local.get $3 - if - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|0 - end - end - local.get $2 - i32.eqz - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $1 - local.get $2 - i32.sub - local.set $1 - local.get $1 - i32.eqz - if - i32.const 688 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=4 - local.get $4 - local.get $0 - local.get $2 - i32.add - local.get $1 - call $~lib/memory/memory.copy - local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/string/String#trimEnd (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $1 - local.get $1 - local.set $2 - loop $while-continue|0 - local.get $2 - if (result i32) - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - local.set $3 - local.get $3 - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - br $while-continue|0 - end - end - local.get $2 - i32.eqz - if - i32.const 688 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $2 - local.get $1 - i32.eq - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=4 - local.get $4 - local.get $0 - local.get $2 - call $~lib/memory/memory.copy - local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/string/String#trim (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - call $~lib/string/String#get:length - local.set $1 - local.get $1 - i32.const 1 - i32.shl - local.set $2 - loop $while-continue|0 - local.get $2 - if (result i32) - local.get $0 - local.get $2 - i32.add - i32.const 2 - i32.sub - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - local.set $3 - local.get $3 - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $4 - loop $while-continue|1 - local.get $4 - local.get $2 - i32.lt_u - if (result i32) - local.get $0 - local.get $4 - i32.add - i32.load16_u - call $~lib/util/string/isSpace - else - i32.const 0 - end - local.set $3 - local.get $3 - if - local.get $4 - i32.const 2 - i32.add - local.set $4 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - br $while-continue|1 - end - end - local.get $2 - i32.eqz - if - i32.const 688 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $4 - i32.eqz - if (result i32) - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $4 - i32.add - local.get $2 - call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 f64) - (local $8 i32) - (local $9 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - i32.eqz - if - i32.const 1 - drop - f64.const nan:0x8000000000000 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $0 - local.set $3 - local.get $3 - i32.load16_u - local.set $4 - loop $while-continue|0 - local.get $4 - call $~lib/util/string/isSpace - local.set $5 - local.get $5 - if - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - f64.const 1 - local.set $6 - local.get $4 - i32.const 45 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 43 - i32.eq - end - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - if - i32.const 1 - drop - f64.const nan:0x8000000000000 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $4 - i32.const 45 - i32.eq - if - f64.const -1 - local.set $6 - end - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - end - local.get $1 - if - local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end - if - i32.const 1 - drop - f64.const nan:0x8000000000000 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $1 - i32.const 16 - i32.eq - if - local.get $2 - i32.const 2 - i32.gt_s - if (result i32) - local.get $4 - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - end - end - else - local.get $4 - i32.const 48 - i32.eq - if (result i32) - local.get $2 - i32.const 2 - i32.gt_s - else - i32.const 0 - end - if - block $break|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.set $5 - local.get $5 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $5 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $5 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 2 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 8 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 16 - local.set $1 - br $break|1 - end - end - local.get $1 - i32.eqz - if - i32.const 10 - local.set $1 - end - end - f64.const 0 - local.set $7 - block $while-break|2 - loop $while-continue|2 - local.get $2 - local.tee $5 - i32.const 1 - i32.sub - local.set $2 - local.get $5 - local.set $5 - local.get $5 - if - local.get $3 - i32.load16_u - local.set $4 - local.get $4 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $4 - i32.const 48 - i32.sub - local.set $4 - else - local.get $4 - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $4 - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $4 - else - local.get $4 - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $4 - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $4 - end - end - end - local.get $4 - local.get $1 - i32.ge_u - if - local.get $7 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - i32.eqz - if - i32.const 1 - drop - f64.const nan:0x8000000000000 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - br $while-break|2 - end - local.get $7 - local.get $1 - f64.convert_i32_s - f64.mul - local.get $4 - f64.convert_i32_u - f64.add - local.set $7 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|2 - end - end - end - local.get $6 - local.get $7 - f64.mul - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/string/parseInt (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $~lib/util/string/strtol - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/number/F32.parseInt (param $0 i32) (param $1 i32) (result f32) - (local $2 i32) - (local $3 f32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $~lib/util/string/strtol - f32.demote_f64 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/number/F64.parseInt (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $~lib/util/string/strtol - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - drop - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - local.set $3 - local.get $3 - i32.load16_u - local.set $4 - loop $while-continue|0 - local.get $4 - call $~lib/util/string/isSpace - local.set $5 - local.get $5 - if - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const 1 - local.set $6 - local.get $4 - i32.const 45 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 43 - i32.eq - end - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - if - i32.const 0 - drop - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $4 - i32.const 45 - i32.eq - if - i32.const -1 - local.set $6 - end - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - end - local.get $1 - if - local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end - if - i32.const 0 - drop - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $1 - i32.const 16 - i32.eq - if - local.get $2 - i32.const 2 - i32.gt_s - if (result i32) - local.get $4 - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - end - end - else - local.get $4 - i32.const 48 - i32.eq - if (result i32) - local.get $2 - i32.const 2 - i32.gt_s - else - i32.const 0 - end - if - block $break|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.set $5 - local.get $5 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $5 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $5 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 2 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 8 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 16 - local.set $1 - br $break|1 - end - end - local.get $1 - i32.eqz - if - i32.const 10 - local.set $1 - end - end - i32.const 0 - local.set $7 - block $while-break|2 - loop $while-continue|2 - local.get $2 - local.tee $5 - i32.const 1 - i32.sub - local.set $2 - local.get $5 - local.set $5 - local.get $5 - if - local.get $3 - i32.load16_u - local.set $4 - local.get $4 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $4 - i32.const 48 - i32.sub - local.set $4 - else - local.get $4 - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $4 - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $4 - else - local.get $4 - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $4 - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $4 - end - end - end - local.get $4 - local.get $1 - i32.ge_u - if - local.get $7 - i32.eqz - if - i32.const 0 - drop - i32.const 0 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - br $while-break|2 - end - local.get $7 - local.get $1 - i32.mul - local.get $4 - i32.add - local.set $7 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|2 - end - end - end - local.get $6 - local.get $7 - i32.mul - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/number/I32.parseInt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $~lib/util/string/strtol - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i64) - (local $7 i64) - (local $8 i32) - (local $9 i64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - i32.eqz - if - i32.const 0 - drop - i64.const 0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $0 - local.set $3 - local.get $3 - i32.load16_u - local.set $4 - loop $while-continue|0 - local.get $4 - call $~lib/util/string/isSpace - local.set $5 - local.get $5 - if - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i64.const 1 - local.set $6 - local.get $4 - i32.const 45 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 43 - i32.eq - end - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - if - i32.const 0 - drop - i64.const 0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $4 - i32.const 45 - i32.eq - if - i64.const -1 - local.set $6 - end - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u - local.set $4 - end - local.get $1 - if - local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end - if - i32.const 0 - drop - i64.const 0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $1 - i32.const 16 - i32.eq - if - local.get $2 - i32.const 2 - i32.gt_s - if (result i32) - local.get $4 - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - end - end - else - local.get $4 - i32.const 48 - i32.eq - if (result i32) - local.get $2 - i32.const 2 - i32.gt_s - else - i32.const 0 - end - if - block $break|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $3 - i32.load16_u offset=2 - i32.const 32 - i32.or - local.set $5 - local.get $5 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $5 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $5 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 2 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 8 - local.set $1 - br $break|1 - end - local.get $3 - i32.const 4 - i32.add - local.set $3 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 16 - local.set $1 - br $break|1 - end - end - local.get $1 - i32.eqz - if - i32.const 10 - local.set $1 - end - end - i64.const 0 - local.set $7 - block $while-break|2 - loop $while-continue|2 - local.get $2 - local.tee $5 - i32.const 1 - i32.sub - local.set $2 - local.get $5 - local.set $5 - local.get $5 - if - local.get $3 - i32.load16_u - local.set $4 - local.get $4 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $4 - i32.const 48 - i32.sub - local.set $4 - else - local.get $4 - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $4 - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $4 - else - local.get $4 - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $4 - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $4 - end - end - end - local.get $4 - local.get $1 - i32.ge_u - if - local.get $7 - i64.const 0 - i64.ne - i32.eqz - if - i32.const 0 - drop - i64.const 0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - br $while-break|2 - end - local.get $7 - local.get $1 - i64.extend_i32_s - i64.mul - local.get $4 - i64.extend_i32_u - i64.add - local.set $7 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|2 - end - end - end - local.get $6 - local.get $7 - i64.mul - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/number/I64.parseInt (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - call $~lib/util/string/strtol - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/util/string/strtod (param $0 i32) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i64) - (local $18 f64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i32) - (local $26 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $25 - global.get $~lib/memory/__stack_pointer - local.get $25 - i32.store - local.get $25 - call $~lib/string/String#get:length - local.set $1 - local.get $1 - i32.eqz - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $0 - local.set $2 - local.get $2 - i32.load16_u - local.set $3 - f64.const 1 - local.set $4 - loop $while-continue|0 - local.get $1 - if (result i32) - local.get $3 - call $~lib/util/string/isSpace - else - i32.const 0 - end - local.set $5 - local.get $5 - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|0 - end - end - local.get $1 - i32.eqz - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $3 - i32.const 45 - i32.eq - if - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.eqz - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u - local.set $3 - f64.const -1 - local.set $4 - else - local.get $3 - i32.const 43 - i32.eq - if - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.eqz - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u - local.set $3 - end - end - local.get $1 - i32.const 8 - i32.ge_s - if (result i32) - local.get $3 - i32.const 73 - i32.eq - else - i32.const 0 - end - if - local.get $2 - i64.load - i64.const 29555310648492105 - i64.eq - if (result i32) - local.get $2 - i64.load offset=8 - i64.const 34058970405077102 - i64.eq - else - i32.const 0 - end - if - f64.const inf - local.get $4 - f64.mul - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $3 - i32.const 46 - i32.ne - if (result i32) - local.get $3 - i32.const 48 - i32.sub - i32.const 10 - i32.ge_u - else - i32.const 0 - end - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $2 - local.set $6 - loop $while-continue|1 - local.get $3 - i32.const 48 - i32.eq - local.set $5 - local.get $5 - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|1 - end - end - local.get $1 - i32.const 0 - i32.le_s - if - f64.const 0 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - i32.const 0 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - i64.const 0 - local.set $10 - local.get $3 - i32.const 46 - i32.eq - if - local.get $6 - local.get $2 - i32.sub - i32.eqz - local.set $5 - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - local.get $1 - i32.eqz - if (result i32) - local.get $5 - else - i32.const 0 - end - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - i32.const 1 - local.set $7 - loop $for-loop|2 - local.get $2 - i32.load16_u - local.tee $3 - i32.const 48 - i32.eq - local.set $11 - local.get $11 - if - local.get $1 - i32.const 1 - i32.sub - local.set $1 - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $for-loop|2 - end - end - local.get $1 - i32.const 0 - i32.le_s - if - f64.const 0 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - local.get $9 - i32.eqz - if (result i32) - local.get $5 - else - i32.const 0 - end - if (result i32) - local.get $3 - i32.const 48 - i32.sub - i32.const 10 - i32.ge_u - else - i32.const 0 - end - if - f64.const nan:0x8000000000000 - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 - return - end - end - local.get $3 - i32.const 48 - i32.sub - local.set $5 - block $for-break3 - loop $for-loop|3 - local.get $5 - i32.const 10 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $3 - i32.const 46 - i32.eq - if (result i32) - local.get $7 - i32.eqz - else - i32.const 0 - end - end - local.set $11 - local.get $11 - if - local.get $5 - i32.const 10 - i32.lt_u - if - local.get $8 - i32.const 19 - i32.lt_s - if (result i64) - i64.const 10 - local.get $10 - i64.mul - local.get $5 - i64.extend_i32_u - i64.add - else - local.get $10 - local.get $5 - i32.eqz - i32.eqz - i64.extend_i32_u - i64.or - end - local.set $10 - local.get $8 - i32.const 1 - i32.add - local.set $8 - else - local.get $8 - local.set $9 - i32.const 1 - local.set $7 - end - local.get $1 - i32.const 1 - i32.sub - local.tee $1 - i32.eqz - if - br $for-break3 - end - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u - local.set $3 - local.get $3 - i32.const 48 - i32.sub - local.set $5 - br $for-loop|3 - end - end - end - local.get $7 - i32.eqz - if - local.get $8 - local.set $9 - end - block $~lib/util/string/scientific|inlined.0 (result f64) - local.get $10 - local.set $17 - local.get $9 - i32.const 19 - local.tee $11 - local.get $8 - local.tee $5 - local.get $11 - local.get $5 - i32.lt_s - select - i32.sub - block $~lib/util/string/parseExp|inlined.0 (result i32) - local.get $2 - local.set $11 - local.get $1 - local.set $5 - i32.const 1 - local.set $12 - i32.const 0 - local.set $13 - local.get $11 - i32.load16_u - local.set $14 - local.get $14 - i32.const 32 - i32.or - i32.const 101 - i32.ne - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $5 - i32.const 1 - i32.sub - local.tee $5 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $11 - i32.const 2 - i32.add - local.tee $11 - i32.load16_u - local.set $14 - local.get $14 - i32.const 45 - i32.eq - if - local.get $5 - i32.const 1 - i32.sub - local.tee $5 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $11 - i32.const 2 - i32.add - local.tee $11 - i32.load16_u - local.set $14 - i32.const -1 - local.set $12 - else - local.get $14 - i32.const 43 - i32.eq - if - local.get $5 - i32.const 1 - i32.sub - local.tee $5 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $11 - i32.const 2 - i32.add - local.tee $11 - i32.load16_u - local.set $14 - end - end - loop $while-continue|4 - local.get $14 - i32.const 48 - i32.eq - local.set $15 - local.get $15 - if - local.get $5 - i32.const 1 - i32.sub - local.tee $5 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $11 - i32.const 2 - i32.add - local.tee $11 - i32.load16_u - local.set $14 - br $while-continue|4 - end - end - local.get $14 - i32.const 48 - i32.sub - local.set $15 - loop $for-loop|5 - local.get $5 - if (result i32) - local.get $15 - i32.const 10 - i32.lt_u - else - i32.const 0 - end - local.set $16 - local.get $16 - if - local.get $13 - i32.const 3200 - i32.ge_s - if - local.get $12 - i32.const 3200 - i32.mul - br $~lib/util/string/parseExp|inlined.0 - end - i32.const 10 - local.get $13 - i32.mul - local.get $15 - i32.add - local.set $13 - local.get $11 - i32.const 2 - i32.add - local.tee $11 - i32.load16_u - local.set $14 - local.get $5 - i32.const 1 - i32.sub - local.set $5 - local.get $14 - i32.const 48 - i32.sub - local.set $15 - br $for-loop|5 - end - end - local.get $12 - local.get $13 - i32.mul + local.get $12 + local.get $13 + i32.mul end i32.add local.set $16 @@ -10756,1316 +7023,2436 @@ end local.get $4 f64.copysign - local.set $26 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $26 ) - (func $~lib/string/parseFloat (param $0 i32) (result f64) - (local $1 i32) - (local $2 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + (func $~lib/string/parseFloat (param $0 i32) (result f64) + local.get $0 + call $~lib/util/string/strtod + ) + (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + ) + (func $~lib/string/String.__gt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.get $1 + i32.eq + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 0 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $1 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + i32.eqz + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + local.tee $4 + local.get $3 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $6 + local.get $6 + if (result i32) + local.get $6 + i32.const 0 + i32.gt_s + else + local.get $2 + local.get $3 + i32.gt_s + end + ) + (func $~lib/string/String.__lt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + local.get $1 + i32.eq + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 0 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $1 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + i32.eqz + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $3 + i32.eqz + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $3 + local.tee $4 + local.get $2 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $6 + local.get $6 + if (result i32) + local.get $6 + i32.const 0 + i32.lt_s + else + local.get $3 + local.get $2 + i32.lt_s + end + ) + (func $~lib/string/String.__gte (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store + call $~lib/string/String.__lt + i32.eqz + ) + (func $~lib/string/String.__lte (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 - call $~lib/util/string/strtod - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + call $~lib/string/String.__gt + i32.eqz ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 1184 - local.tee $1 - i32.store - end local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl + i32.const 20 + i32.sub local.set $2 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.eq + i32.load + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u if - i32.const 688 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $2 + local.get $1 + call $~lib/rt/itcms/Object#set:rtSize + local.get $0 return end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 + local.get $1 + local.get $2 + i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - local.get $5 + local.set $3 + local.get $3 local.get $0 + local.get $1 + local.tee $4 local.get $2 - call $~lib/memory/memory.copy + i32.load offset=16 + local.tee $5 + local.get $4 local.get $5 - local.get $2 - i32.add - local.get $1 - local.get $3 + i32.lt_u + select call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $3 ) - (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.const 1184 + (func $~lib/array/Array<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) local.get $0 - i32.const 0 - i32.ne - select - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add local.get $2 i32.store + i32.const 1 + drop + local.get $0 local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/ensureSize (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=8 + local.set $3 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String#concat - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 local.get $2 + i32.shr_u + i32.gt_u + if + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 12624 + i32.const 14224 + i32.const 14 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load + local.set $4 + local.get $1 + local.get $2 + i32.shl + local.set $5 + local.get $4 + local.get $5 + call $~lib/rt/itcms/__renew + local.set $6 + local.get $6 + local.get $3 + i32.add + i32.const 0 + local.get $5 + local.get $3 + i32.sub + call $~lib/memory/memory.fill + local.get $6 + local.get $4 + i32.ne + if + local.get $0 + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.store offset=4 + local.get $0 + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $0 + local.get $5 + i32.store offset=8 + end ) - (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/array/Array<~lib/string/String>#set:length_ (param $0 i32) (param $1 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 local.get $1 + i32.store offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=12 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - call $~lib/string/String.__eq - i32.eqz - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer + local.set $3 + local.get $0 + local.get $3 + i32.const 2 + call $~lib/array/ensureSize + i32.const 1 + drop + local.get $0 + i32.load offset=4 local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $3 ) - (func $~lib/string/String.__gt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 100000 + i32.lt_u + if + local.get $0 + i32.const 100 + i32.lt_u + if + i32.const 1 + local.get $0 + i32.const 10 + i32.ge_u + i32.add + return + else + i32.const 3 + local.get $0 + i32.const 10000 + i32.ge_u + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + return + end + unreachable + else + local.get $0 + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $0 + i32.const 1000000 + i32.ge_u + i32.add + return + else + i32.const 8 + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + return + end + unreachable + end + unreachable + ) + (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i32) + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $1 + i32.const 10000 + i32.div_u + local.set $4 + local.get $1 + i32.const 10000 + i32.rem_u + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 100 + i32.div_u + local.set $6 + local.get $5 + i32.const 100 + i32.rem_u + local.set $7 + i32.const 14780 + local.get $6 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $8 + i32.const 14780 + local.get $7 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $9 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $8 + local.get $9 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 + end + end local.get $1 - i32.eq - if (result i32) - i32.const 1 - else + i32.const 100 + i32.ge_u + if + local.get $1 + i32.const 100 + i32.div_u + local.set $3 + local.get $1 + i32.const 100 + i32.rem_u + local.set $10 + local.get $3 + local.set $1 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 14780 + local.get $10 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 local.get $0 - i32.const 0 - i32.eq + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store end - if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 14780 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $0 + local.get $2 i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store else + local.get $2 + i32.const 1 + i32.sub + local.set $2 + i32.const 48 local.get $1 - i32.const 0 - i32.eq + i32.add + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end + ) + (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $2 + i32.const 2 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 15200 + local.get $1 + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $1 + i64.const 8 + i64.shr_u + local.set $1 + br $while-continue|0 + end end + local.get $2 + i32.const 1 + i32.and if - i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.const 15200 + local.get $1 + i32.wrap_i64 + i32.const 6 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + i32.load16_u + i32.store16 end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length + ) + (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i64) + (local $4 i64) + (local $5 i32) + local.get $1 local.set $2 local.get $2 - i32.eqz + i32.popcnt + i32.const 1 + i32.eq if - i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 63 + local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $1 + i32.clz + i32.sub + i32.div_u + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 return end local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length + i64.extend_i32_s local.set $3 local.get $3 - i32.eqz - if - i32.const 1 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + local.set $4 + i32.const 1 + local.set $5 + loop $while-continue|0 + local.get $0 + local.get $4 + i64.ge_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $4 + i64.div_u + local.set $0 + local.get $4 + local.get $4 + i64.mul + local.set $4 + local.get $5 + i32.const 1 + i32.shl + local.set $5 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $0 + i64.const 1 + i64.ge_u + local.set $2 + local.get $2 + if + local.get $0 + local.get $3 + i64.div_u + local.set $0 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $while-continue|1 + end end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - local.get $2 - local.tee $4 - local.get $3 - local.tee $5 - local.get $4 local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $6 - local.get $6 - if (result i32) - local.get $6 - i32.const 0 - i32.gt_s + i32.const 1 + i32.sub + ) + (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + local.get $3 + i64.extend_i32_s + local.set $4 + local.get $3 + local.get $3 + i32.const 1 + i32.sub + i32.and + i32.const 0 + i32.eq + if + local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $5 + local.get $4 + i64.const 1 + i64.sub + local.set $6 + loop $do-continue|0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 16256 + local.get $1 + local.get $6 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $1 + local.get $5 + i64.shr_u + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|0 + end + else + loop $do-continue|1 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $4 + i64.div_u + local.set $6 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 16256 + local.get $1 + local.get $6 + local.get $4 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $6 + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|1 + end + end + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 1000000000000000 + i64.lt_u + if + local.get $0 + i64.const 1000000000000 + i64.lt_u + if + i32.const 10 + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + return + end + unreachable else - local.get $2 - local.get $3 - i32.gt_s + local.get $0 + i64.const 100000000000000000 + i64.lt_u + if + i32.const 16 + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + return + end + unreachable end - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 + unreachable ) - (func $~lib/string/String.__lt (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i64) + (local $13 i64) + loop $while-continue|0 local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + i64.const 100000000 + i64.ge_u + local.set $3 + local.get $3 + if + local.get $1 + i64.const 100000000 + i64.div_u + local.set $4 + local.get $1 + local.get $4 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $7 + local.get $6 + i32.const 100 + i32.div_u + local.set $8 + local.get $6 + i32.const 100 + i32.rem_u + local.set $9 + local.get $7 + i32.const 100 + i32.div_u + local.set $10 + local.get $7 + i32.const 100 + i32.rem_u + local.set $11 + i32.const 14780 + local.get $10 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 14780 + local.get $11 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + i32.const 14780 + local.get $8 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 14780 + local.get $9 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 + end end + local.get $0 local.get $1 + i32.wrap_i64 + local.get $2 + call $~lib/util/number/utoa32_dec_lut + ) + (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i64) + i32.const 0 + local.get $4 + i32.sub local.set $7 - global.get $~lib/memory/__stack_pointer + i64.const 1 local.get $7 - i32.store + i64.extend_i32_s + i64.shl + local.set $8 + local.get $8 + i64.const 1 + i64.sub + local.set $9 + local.get $3 + local.get $1 + i64.sub + local.set $10 + local.get $3 local.get $7 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - i32.eqz - if + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.set $11 + local.get $3 + local.get $9 + i64.and + local.set $12 + local.get $11 + call $~lib/util/number/decimalCount32 + local.set $13 + local.get $6 + local.set $14 + loop $while-continue|0 + local.get $13 i32.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return + i32.gt_s + local.set $15 + local.get $15 + if + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $13 + local.set $17 + local.get $17 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $17 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $17 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $17 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $17 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $17 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $17 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $17 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $17 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $17 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $11 + i32.const 1000000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100 + i32.div_u + local.set $16 + local.get $11 + i32.const 100 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10 + i32.div_u + local.set $16 + local.get $11 + i32.const 10 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + local.set $16 + i32.const 0 + local.set $11 + br $break|1 + end + i32.const 0 + local.set $16 + br $break|1 + end + local.get $16 + local.get $14 + i32.or + if + local.get $0 + local.get $14 + local.tee $17 + i32.const 1 + i32.add + local.set $14 + local.get $17 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $16 + i32.const 65535 + i32.and + i32.add + i32.store16 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + local.get $11 + i64.extend_i32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.get $12 + i64.add + local.set $18 + local.get $18 + local.get $5 + i64.le_u + if + global.get $~lib/util/number/_K + local.get $13 + i32.add + global.set $~lib/util/number/_K + local.get $0 + local.set $23 + local.get $14 + local.set $17 + local.get $5 + local.set $22 + local.get $18 + local.set $21 + i32.const 22768 + local.get $13 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.set $20 + local.get $10 + local.set $19 + local.get $23 + local.get $17 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $24 + local.get $24 + i32.load16_u + local.set $25 + loop $while-continue|3 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $22 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $26 + local.get $26 + if + local.get $25 + i32.const 1 + i32.sub + local.set $25 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|3 + end + end + local.get $24 + local.get $25 + i32.store16 + local.get $14 + return + end + br $while-continue|0 + end end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length - local.set $3 - local.get $3 - i32.eqz - if + loop $while-continue|4 i32.const 1 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 0 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - local.get $3 - local.tee $4 - local.get $2 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $6 - local.get $6 - if (result i32) - local.get $6 - i32.const 0 - i32.lt_s - else - local.get $3 - local.get $2 - i32.lt_s + local.set $15 + local.get $15 + if + local.get $12 + i64.const 10 + i64.mul + local.set $12 + local.get $5 + i64.const 10 + i64.mul + local.set $5 + local.get $12 + local.get $7 + i64.extend_i32_s + i64.shr_u + local.set $22 + local.get $22 + local.get $14 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if + local.get $0 + local.get $14 + local.tee $25 + i32.const 1 + i32.add + local.set $14 + local.get $25 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $22 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.add + i32.store16 + end + local.get $12 + local.get $9 + i64.and + local.set $12 + local.get $13 + i32.const 1 + i32.sub + local.set $13 + local.get $12 + local.get $5 + i64.lt_u + if + global.get $~lib/util/number/_K + local.get $13 + i32.add + global.set $~lib/util/number/_K + local.get $10 + i32.const 22768 + i32.const 0 + local.get $13 + i32.sub + i32.const 2 + i32.shl + i32.add + i64.load32_u + i64.mul + local.set $10 + local.get $0 + local.set $17 + local.get $14 + local.set $26 + local.get $5 + local.set $27 + local.get $12 + local.set $21 + local.get $8 + local.set $20 + local.get $10 + local.set $19 + local.get $17 + local.get $26 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $25 + local.get $25 + i32.load16_u + local.set $24 + loop $while-continue|6 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $27 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $23 + local.get $23 + if + local.get $24 + i32.const 1 + i32.sub + local.set $24 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|6 + end + end + local.get $25 + local.get $24 + i32.store16 + local.get $14 + return + end + br $while-continue|4 + end end - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/string/String.__gte (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String.__lt - i32.eqz - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String.__lte (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/string/String.__gt - i32.eqz - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + unreachable ) - (func $~lib/string/String#repeat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/string/String#get:length - local.set $2 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $2 - i64.extend_i32_s - local.get $1 - i64.extend_i32_s - i64.mul - i64.const 1 - i64.const 28 - i64.shl - i64.gt_u - end + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $2 + i32.eqz if - i32.const 12624 - i32.const 304 - i32.const 333 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 0 - i32.eq - if (result i32) + local.get $0 + local.get $1 i32.const 1 - else - local.get $2 - i32.eqz - end - if - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - local.get $1 - i32.const 1 - i32.eq - if - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 2 i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 return end - global.get $~lib/memory/__stack_pointer - local.get $2 local.get $1 - i32.mul - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - local.get $0 local.get $2 - i32.const 1 - i32.shl - local.get $1 - call $~lib/memory/memory.repeat - local.get $3 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/string/String#replace (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length local.set $3 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.set $4 local.get $3 - local.get $4 - i32.le_u - if + i32.le_s + if (result i32) local.get $3 - local.get $4 - i32.lt_u - if (result i32) - local.get $0 - else - local.get $2 - local.get $0 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/string/String.__eq - select - end - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return + i32.const 21 + i32.le_s + else + i32.const 0 end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - i32.const 0 - call $~lib/string/String#indexOf - local.set $5 - local.get $5 - i32.const -1 - i32.xor if - local.get $2 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.set $6 + local.get $1 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 local.get $3 - local.get $4 - i32.sub - local.set $3 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store local.get $3 - local.get $6 + i32.const 2 i32.add - local.set $7 - local.get $7 + return + else + local.get $3 + i32.const 0 + i32.gt_s + if (result i32) + local.get $3 + i32.const 21 + i32.le_s + else + i32.const 0 + end if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 local.get $0 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 + local.get $3 i32.const 1 i32.shl i32.add + local.set $4 + local.get $4 + i32.const 2 + i32.add + local.get $4 + i32.const 0 local.get $2 - local.get $6 + i32.sub i32.const 1 i32.shl call $~lib/memory/memory.copy - local.get $8 - local.get $5 - local.get $6 - i32.add - i32.const 1 - i32.shl - i32.add local.get $0 - local.get $5 - local.get $4 - i32.add + local.get $3 i32.const 1 i32.shl i32.add - local.get $3 - local.get $5 - i32.sub + i32.const 46 + i32.store16 + local.get $1 i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 return + else + i32.const -6 + local.get $3 + i32.lt_s + if (result i32) + local.get $3 + i32.const 0 + i32.le_s + else + i32.const 0 + end + if + i32.const 2 + local.get $3 + i32.sub + local.set $4 + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store + i32.const 2 + local.set $5 + loop $for-loop|1 + local.get $5 + local.get $4 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|1 + end + end + local.get $1 + local.get $4 + i32.add + return + else + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + i32.const 4 + i32.add + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + local.get $6 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $6 + i32.sub + local.set $6 + end + local.get $6 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $7 + local.get $5 + local.set $10 + local.get $6 + local.set $9 + local.get $7 + local.set $8 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/number/utoa32_dec_lut + local.get $5 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $7 + local.set $1 + local.get $1 + i32.const 2 + i32.add + return + else + local.get $1 + i32.const 1 + i32.shl + local.set $7 + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $7 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $7 + i32.add + i32.const 101 + i32.store16 offset=2 + local.get $1 + local.get $0 + local.get $7 + i32.add + i32.const 4 + i32.add + local.set $9 + local.get $3 + i32.const 1 + i32.sub + local.set $8 + local.get $8 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $8 + i32.sub + local.set $8 + end + local.get $8 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $5 + local.get $9 + local.set $11 + local.get $8 + local.set $6 + local.get $5 + local.set $10 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $11 + local.get $6 + local.get $10 + call $~lib/util/number/utoa32_dec_lut + local.get $9 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $5 + i32.add + local.set $1 + local.get $1 + i32.const 2 + i32.add + return + end + unreachable + end + unreachable end + unreachable end - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + unreachable ) - (func $~lib/string/String#replaceAll (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 f64) + (local $6 i64) (local $7 i32) - (local $8 i32) - (local $9 i32) + (local $8 i64) + (local $9 i64) (local $10 i32) - (local $11 i32) - (local $12 i32) + (local $11 i64) + (local $12 i64) (local $13 i32) (local $14 i32) (local $15 i32) - (local $16 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 - call $~lib/string/String#get:length - local.set $3 + (local $16 f64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + (local $25 i64) + (local $26 i32) + (local $27 i64) + (local $28 i32) local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 - call $~lib/string/String#get:length - local.set $4 - local.get $3 - local.get $4 - i32.le_u + f64.const 0 + f64.lt + local.set $2 + local.get $2 if - local.get $3 - local.get $4 - i32.lt_u - if (result i32) - local.get $0 - else - local.get $2 - local.get $0 - local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 - local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=4 - local.get $16 - call $~lib/string/String.__eq - select - end - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 - return + local.get $1 + f64.neg + local.set $1 + local.get $0 + i32.const 45 + i32.store16 end + local.get $1 + local.set $5 + local.get $0 + local.set $4 local.get $2 + local.set $3 + local.get $5 + i64.reinterpret_f64 + local.set $6 + local.get $6 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $7 + local.get $6 + i64.const 4503599627370495 + i64.and + local.set $8 + local.get $7 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $8 + i64.add + local.set $9 + local.get $7 + i32.const 1 + local.get $7 + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $7 + local.get $9 + local.set $11 + local.get $7 + local.set $10 + local.get $11 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $12 + local.get $10 + i32.const 1 + i32.sub + local.set $13 + local.get $12 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $12 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $12 + local.get $13 + local.get $14 + i32.sub + local.set $13 + i32.const 1 + local.get $11 + i64.const 4503599627370496 + i64.eq + i32.add + local.set $15 + local.get $12 + global.set $~lib/util/number/_frc_plus + local.get $11 + local.get $15 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $10 + local.get $15 + i32.sub + local.get $13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $10 + i32.const -61 + local.get $10 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add local.set $16 - global.get $~lib/memory/__stack_pointer local.get $16 - i32.store + i32.trunc_f64_s + local.set $15 + local.get $15 + local.get $15 + f64.convert_i32_s local.get $16 - call $~lib/string/String#get:length - local.set $5 + f64.ne + i32.add + local.set $15 + local.get $15 + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $14 + i32.const 348 + local.get $14 + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 21896 + local.get $14 + i32.const 3 + i32.shl + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + i32.const 22592 + local.get $14 + i32.const 1 + i32.shl + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + local.get $9 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $9 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $9 + local.get $7 + local.get $14 + i32.sub + local.set $7 + global.get $~lib/util/number/_frc_pow + local.set $12 + global.get $~lib/util/number/_exp_pow + local.set $15 + local.get $9 + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $24 + local.get $24 + i64.const 2147483647 + i64.add + local.set $24 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $24 + i64.const 32 + i64.shr_u + local.set $24 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $24 + i64.add + local.set $24 + local.get $7 + local.set $10 + local.get $15 + local.set $13 + local.get $10 + local.get $13 + i32.add + i32.const 64 + i32.add + local.set $10 + global.get $~lib/util/number/_frc_plus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $23 + local.get $11 + i64.const 4294967295 + i64.and + local.set $22 + local.get $17 + i64.const 32 + i64.shr_u + local.set $21 + local.get $11 + i64.const 32 + i64.shr_u + local.set $20 + local.get $23 + local.get $22 + i64.mul + local.set $19 + local.get $21 + local.get $22 + i64.mul + local.get $19 + i64.const 32 + i64.shr_u + i64.add + local.set $18 + local.get $23 + local.get $20 + i64.mul + local.get $18 + i64.const 4294967295 + i64.and + i64.add + local.set $25 + local.get $25 + i64.const 2147483647 + i64.add + local.set $25 + local.get $18 + i64.const 32 + i64.shr_u + local.set $18 + local.get $25 + i64.const 32 + i64.shr_u + local.set $25 + local.get $21 + local.get $20 + i64.mul + local.get $18 + i64.add + local.get $25 + i64.add + i64.const 1 + i64.sub + local.set $25 + global.get $~lib/util/number/_exp + local.set $26 + local.get $15 + local.set $13 + local.get $26 + local.get $13 + i32.add + i32.const 64 + i32.add + local.set $26 + global.get $~lib/util/number/_frc_minus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $27 + local.get $27 + i64.const 2147483647 + i64.add + local.set $27 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $27 + i64.const 32 + i64.shr_u + local.set $27 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $27 + i64.add + i64.const 1 + i64.add + local.set $27 + local.get $25 + local.get $27 + i64.sub + local.set $23 local.get $4 - i32.eqz + local.get $24 + local.get $10 + local.get $25 + local.get $26 + local.get $23 + local.get $3 + call $~lib/util/number/genDigits + local.set $28 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $28 + local.get $2 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $28 + local.get $28 + local.get $2 + i32.add + ) + (func $~lib/rt/itcms/__collect + (local $0 i32) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - local.get $5 - i32.eqz - if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 - return - end - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $3 - i32.const 1 - i32.add - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=8 - local.get $6 - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $5 - local.set $7 - i32.const 0 - local.set $8 - loop $for-loop|0 - local.get $8 - local.get $3 - i32.lt_u - local.set $9 - local.get $9 if - local.get $6 - local.get $7 - local.tee $10 - i32.const 1 - i32.add - local.set $7 - local.get $10 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $8 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.get $5 - i32.add - local.set $7 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|0 + call $~lib/rt/itcms/step + drop + br $while-continue|0 end end - local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 - return end - i32.const 0 - local.set $11 - i32.const 0 - local.set $12 - local.get $4 - local.get $5 - i32.eq - if - local.get $3 - i32.const 1 - i32.shl - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=8 - local.get $6 + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 local.get $0 - local.get $7 - call $~lib/memory/memory.copy - loop $while-continue|1 - local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 - local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=4 - local.get $16 - local.get $11 - call $~lib/string/String#indexOf - local.tee $12 - i32.const -1 - i32.xor - local.set $8 - local.get $8 - if - local.get $6 - local.get $12 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $12 - local.get $4 - i32.add - local.set $11 - br $while-continue|1 - end + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 end - local.get $6 - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 - return end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold i32.const 0 - local.set $13 + drop i32.const 0 - local.set $14 - local.get $3 - local.set $15 - loop $while-continue|2 + if (result i32) + i32.const 1 + else + i32.const 0 + end + drop + ) + (func $std/string/getString (result i32) + global.get $std/string/str + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $std/string/str + local.tee $1 + if + local.get $1 local.get $0 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 + call $~lib/rt/itcms/__visit + end + global.get $std/string/nullStr + local.tee $1 + if local.get $1 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store offset=4 - local.get $16 - local.get $11 - call $~lib/string/String#indexOf - local.tee $12 - i32.const -1 - i32.xor - local.set $6 - local.get $6 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 240 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 12624 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 14272 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 352 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 15200 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 16256 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.const 0 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/string/String>#__visit (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + i32.const 1 + drop + local.get $0 + i32.load offset=4 + local.set $2 + local.get $2 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $3 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_u + local.set $4 + local.get $4 if - local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store - local.get $16 - call $~lib/string/String.__not - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $13 - i32.store offset=12 - end - local.get $12 - local.get $11 - i32.sub - local.set $7 - local.get $14 - local.get $7 - i32.add + local.get $2 + i32.load + local.set $5 local.get $5 - i32.add - local.get $15 - i32.gt_u if - local.get $15 - i32.const 1 - i32.shl - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $13 - local.get $15 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $13 - i32.store offset=12 + local.get $5 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $13 - local.get $14 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $14 - local.get $7 - i32.add - local.set $14 - local.get $13 - local.get $14 - i32.const 1 - i32.shl - i32.add local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $14 - local.get $5 - i32.add - local.set $14 - local.get $12 - local.get $4 + i32.const 4 i32.add - local.set $11 - br $while-continue|2 + local.set $2 + br $while-continue|0 end end - local.get $13 - if - local.get $3 - local.get $11 - i32.sub - local.set $6 - local.get $14 - local.get $6 - i32.add - local.get $15 - i32.gt_u - if - local.get $15 - i32.const 1 - i32.shl - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $13 - local.get $15 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $13 - i32.store offset=12 - end - local.get $6 - if - local.get $13 - local.get $14 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - end - local.get $6 - local.get $14 - i32.add - local.set $6 - local.get $15 - local.get $6 - i32.gt_u - if - global.get $~lib/memory/__stack_pointer - local.get $13 - local.get $6 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $13 - i32.store offset=12 + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array<~lib/string/String> + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end - local.get $13 - local.set $16 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit return end - local.get $0 - local.set $16 + unreachable + ) + (func $~start + call $start:std/string + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $16 + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 41264 + i32.const 41312 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) - (func $~lib/string/String#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/string/String#get:length - local.set $3 - local.get $1 i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $1 - local.get $2 + i32.store + local.get $0 + i32.const 1184 + local.get $0 i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $2 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end + i32.ne + select local.set $2 - local.get $2 - local.get $1 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.le_s - if - i32.const 688 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=4 - local.get $6 - local.get $0 + local.get $2 + i32.store + local.get $2 local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $6 - local.set $7 + call $~lib/string/String#concat + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $2 ) - (func $~lib/string/String#substr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#split (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12074,251 +9461,360 @@ (local $8 i32) (local $9 i32) (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - local.set $3 - local.get $2 - local.set $4 - local.get $0 - local.set $10 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store - local.get $10 - call $~lib/string/String#get:length - local.set $5 - local.get $3 - i32.const 0 - i32.lt_s + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=16 + local.get $2 + i32.eqz if - local.get $5 - local.get $3 - i32.add - local.tee $6 i32.const 0 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_s - select - local.set $3 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return end - local.get $4 - local.tee $7 - i32.const 0 - local.tee $6 - local.get $7 - local.get $6 - i32.gt_s - select - local.tee $6 - local.get $5 - local.get $3 - i32.sub - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $8 + local.get $1 i32.const 0 - i32.le_s + i32.eq if - i32.const 688 - local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load offset=4 + local.tee $4 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $0 + call $~lib/array/Array<~lib/string/String>#__uset + local.get $3 + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $15 return end - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store offset=4 - local.get $9 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $8 - call $~lib/memory/memory.copy - local.get $9 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 call $~lib/string/String#get:length - local.set $3 + local.set $5 local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select + call $~lib/string/String#get:length local.set $6 local.get $2 - local.tee $4 i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 + if + global.get $~lib/builtins/i32.MAX_VALUE + local.set $2 + end local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 i32.eqz if - i32.const 688 - local.set $12 + local.get $5 + i32.eqz + if + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + end + local.get $5 + local.tee $3 + local.get $2 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $7 + loop $for-loop|0 + local.get $7 + local.get $5 + i32.lt_s + local.set $8 + local.get $8 + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store offset=8 + local.get $9 + local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $4 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store + local.get $3 + local.get $9 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + else + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store offset=4 + local.get $4 + i32.load offset=4 + i32.const 688 + i32.store + local.get $4 + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + end + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $10 + i32.store offset=12 + i32.const 0 + local.set $11 + i32.const 0 + local.set $12 + i32.const 0 + local.set $13 + loop $while-continue|1 + local.get $0 + local.get $1 + local.get $12 + call $~lib/string/String#indexOf + local.tee $11 + i32.const -1 + i32.xor + local.set $4 + local.get $4 + if + local.get $11 + local.get $12 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store offset=16 + local.get $7 + local.get $0 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $10 + local.get $7 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $10 + i32.const 688 + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store offset=20 + local.get $15 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $13 + i32.const 1 + i32.add + local.tee $13 + local.get $2 + i32.eq + if + local.get $10 + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + end + local.get $11 + local.get $6 + i32.add + local.set $12 + br $while-continue|1 + end + end + local.get $12 + i32.eqz + if + local.get $10 + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + drop + local.get $10 + local.set $15 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $15 return end - local.get $8 - i32.eqz - if (result i32) - local.get $9 - local.get $3 + local.get $5 + local.get $12 + i32.sub + local.set $14 + local.get $14 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $14 i32.const 1 i32.shl - i32.eq - else - i32.const 0 - end - if + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=4 + local.get $4 local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $12 - return + i32.const 1 + i32.shl + i32.add + local.get $14 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $10 + local.get $4 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $10 + i32.const 688 + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store offset=20 + local.get $15 + call $~lib/array/Array<~lib/string/String>#push + drop end - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 - local.get $0 - local.get $8 - i32.add local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 + local.set $15 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 + local.get $15 ) - (func $~lib/string/String#split (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $start:std/string + (local $0 i32) + (local $1 i32) + (local $2 f64) + (local $3 f32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 44 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12332,443 +9828,573 @@ i64.const 0 i64.store offset=16 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=24 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=32 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=40 + global.get $std/string/str + i32.const 32 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 144 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 144 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 176 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 176 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 208 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 208 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/string/String#get:length + i32.const 16 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 i32.const 0 - i32.store offset=24 - local.get $2 + call $~lib/string/String#charCodeAt + i32.const 104 + i32.eq i32.eqz if i32.const 0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return + i32.const 96 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.const 0 + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 1 + call $~lib/string/String#codePointAt + i32.const 105 i32.eq + i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load offset=4 - local.tee $4 - i32.store offset=4 - local.get $3 i32.const 0 - local.get $0 - call $~lib/array/Array<~lib/string/String>#__uset - local.get $3 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return + i32.const 96 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.set $15 + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 464 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 496 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 576 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $std/string/str + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $4 i32.store offset=8 - local.get $15 - call $~lib/string/String#get:length - local.set $5 - local.get $1 - local.set $15 + local.get $4 + i32.const 15 + call $~lib/string/String#at + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $15 + local.get $4 + i32.store + local.get $4 + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store offset=8 - local.get $15 - call $~lib/string/String#get:length - local.set $6 - local.get $2 - i32.const 0 - i32.lt_s - if - global.get $~lib/builtins/i32.MAX_VALUE - local.set $2 - end - local.get $6 + local.get $4 + i32.const 15 + call $~lib/string/String#charAt + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if - local.get $5 - i32.eqz - if - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return - end - local.get $5 - local.tee $3 - local.get $2 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store - local.get $3 - i32.load offset=4 - local.set $4 i32.const 0 - local.set $7 - loop $for-loop|0 - local.get $7 - local.get $5 - i32.lt_s - local.set $8 - local.get $8 - if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store offset=12 - local.get $9 - local.get $0 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $4 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.get $9 - i32.store - local.get $3 - local.get $9 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - local.get $3 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return - else - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store offset=4 - local.get $4 - i32.load offset=4 - i32.const 688 - i32.store - local.get $4 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return - end + i32.const 96 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const -1 + call $~lib/string/String#at + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#get:length + i32.const 1 + i32.sub + call $~lib/string/String#charAt + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $std/string/str + local.set $4 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 i32.const 0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $10 - i32.store offset=16 + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#get:length + i32.sub + call $~lib/string/String#at + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 720 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/string/String.__not + i32.eqz i32.const 0 - local.set $11 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 752 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/string/String.__not + i32.eqz + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/string/String.__not + i32.eqz + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.set $12 + i32.const 1 + global.set $~argumentsLength i32.const 0 - local.set $13 - loop $while-continue|1 - local.get $0 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - local.get $1 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - local.get $12 - call $~lib/string/String#indexOf - local.tee $11 - i32.const -1 - i32.xor - local.set $4 - local.get $4 - if - local.get $11 - local.get $12 - i32.sub - local.set $3 - local.get $3 - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=24 - local.get $7 - local.get $0 - local.get $12 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - local.get $7 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - i32.const 688 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - call $~lib/array/Array<~lib/string/String>#push - drop - end - local.get $13 - i32.const 1 - i32.add - local.tee $13 - local.get $2 - i32.eq - if - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return - end - local.get $11 - local.get $6 - i32.add - local.set $12 - br $while-continue|1 - end + call $~lib/string/String.fromCharCode@varargs + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 752 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $12 + i32.const 65600 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 816 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - local.get $0 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - call $~lib/array/Array<~lib/string/String>#push - drop - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - return + i32.const 0 + i32.const 96 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $5 - local.get $12 - i32.sub - local.set $14 - local.get $14 + i32.const 54 + i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.gt_s + call $~lib/string/String.fromCharCode@varargs + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 848 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.const 1 - i32.shl + i32.const 0 + i32.const 96 + i32.const 27 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store offset=4 - local.get $4 - local.get $0 - local.get $12 + call $~lib/builtins/abort + unreachable + end + i32.const 65536 + i32.const 54 + i32.add + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 848 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 28 i32.const 1 - i32.shl - i32.add - local.get $14 + call $~lib/builtins/abort + unreachable + end + i32.const 55296 + i32.const 57088 + call $~lib/string/String.fromCharCode + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 880 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 29 i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - local.get $4 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $10 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=8 - local.get $15 - i32.const 688 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=20 - local.get $15 - call $~lib/array/Array<~lib/string/String>#push - drop + call $~lib/builtins/abort + unreachable end - local.get $10 - local.set $15 + i32.const 2 + i32.const 2 + i32.const 3 + i32.const 912 + call $~lib/rt/__newArray + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 - ) - (func $start:std/string - (local $0 i32) - (local $1 i32) - (local $2 f64) - (local $3 f32) - (local $4 i32) + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String.fromCharCodes + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 44 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $4 + i32.store + local.get $4 + i32.const 944 + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 30 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 3 + i32.const 976 + call $~lib/rt/__newArray + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String.fromCharCodes + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + local.get $4 + i32.store + local.get $4 + i32.const 1008 + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 3 + i32.const 1040 + call $~lib/rt/__newArray + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=32 + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String.fromCharCodes + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 1088 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=40 - global.get $std/string/str - i32.const 32 - i32.eq + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 8 + i32.const 32 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 144 + i32.const 0 + call $~lib/string/String.fromCodePoint local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 144 + i32.const 752 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -12779,18 +10405,19 @@ if i32.const 0 i32.const 96 - i32.const 10 + i32.const 34 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 176 + i32.const 54 + call $~lib/string/String.fromCodePoint local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 176 + i32.const 848 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -12801,18 +10428,19 @@ if i32.const 0 i32.const 96 - i32.const 11 + i32.const 35 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 208 + i32.const 119558 + call $~lib/string/String.fromCodePoint local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 208 + i32.const 1120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -12823,7 +10451,7 @@ if i32.const 0 i32.const 96 - i32.const 12 + i32.const 36 i32.const 1 call $~lib/builtins/abort unreachable @@ -12834,14 +10462,19 @@ local.get $4 i32.store local.get $4 - call $~lib/string/String#get:length - i32.const 16 - i32.eq + i32.const 1152 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/string/String#startsWith i32.eqz if i32.const 0 i32.const 96 - i32.const 14 + i32.const 38 i32.const 1 call $~lib/builtins/abort unreachable @@ -12852,15 +10485,19 @@ local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/String#charCodeAt - i32.const 104 - i32.eq + i32.const 1216 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + global.get $~lib/string/String.MAX_LENGTH + call $~lib/string/String#endsWith i32.eqz if i32.const 0 i32.const 96 - i32.const 15 + i32.const 39 i32.const 1 call $~lib/builtins/abort unreachable @@ -12871,57 +10508,43 @@ local.get $4 i32.store local.get $4 - i32.const 1 - call $~lib/string/String#codePointAt - i32.const 105 - i32.eq + i32.const 1248 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + call $~lib/string/String#includes i32.eqz if i32.const 0 i32.const 96 - i32.const 16 + i32.const 40 i32.const 1 call $~lib/builtins/abort unreachable end - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 464 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 496 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 576 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 15 - call $~lib/string/String#at + i32.const 0 + i32.const 1280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=16 local.get $4 - global.get $std/string/str + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 15 - call $~lib/string/String#charAt + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -12932,7 +10555,7 @@ if i32.const 0 i32.const 96 - i32.const 17 + i32.const 42 i32.const 1 call $~lib/builtins/abort unreachable @@ -12943,32 +10566,23 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const -1 - call $~lib/string/String#at + i32.const 15 + i32.const 1280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=16 local.get $4 - global.get $std/string/str + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 - local.get $4 - call $~lib/string/String#get:length - i32.const 1 - i32.sub - call $~lib/string/String#charAt - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 i32.store offset=4 local.get $4 call $~lib/string/String.__eq @@ -12976,33 +10590,31 @@ if i32.const 0 i32.const 96 - i32.const 18 + i32.const 43 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 0 - global.get $std/string/str + i32.const 3 + i32.const 1280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 + i32.store offset=16 local.get $4 - call $~lib/string/String#get:length - i32.sub - call $~lib/string/String#at + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 720 + i32.const 1312 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13013,7 +10625,7 @@ if i32.const 0 i32.const 96 - i32.const 19 + i32.const 44 i32.const 1 call $~lib/builtins/abort unreachable @@ -13022,36 +10634,33 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - call $~lib/string/String.__not - i32.eqz - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 21 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 752 + i32.const 10 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/String.__not - i32.eqz - i32.const 1 - i32.eq + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 22 + i32.const 45 i32.const 1 call $~lib/builtins/abort unreachable @@ -13060,32 +10669,22 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - call $~lib/string/String.__not - i32.eqz - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs + i32.const 100 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 752 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13096,22 +10695,31 @@ if i32.const 0 i32.const 96 - i32.const 25 + i32.const 46 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 65600 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 5 + i32.const 1280 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 816 + i32.const 1376 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13122,22 +10730,31 @@ if i32.const 0 i32.const 96 - i32.const 26 + i32.const 47 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 54 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 6 + i32.const 1408 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 848 + i32.const 1440 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13148,48 +10765,31 @@ if i32.const 0 i32.const 96 - i32.const 27 + i32.const 48 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 65536 - i32.const 54 - i32.add - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 848 + i32.const 8 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 55296 - i32.const 57088 - call $~lib/string/String.fromCharCode + call $~lib/string/String#padStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 880 + i32.const 1472 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13200,28 +10800,31 @@ if i32.const 0 i32.const 96 - i32.const 29 + i32.const 49 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 2 - i32.const 3 - i32.const 912 - call $~lib/rt/__newArray + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - call $~lib/string/String.fromCharCodes + i32.const 0 + i32.const 1280 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 944 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13232,28 +10835,31 @@ if i32.const 0 i32.const 96 - i32.const 30 + i32.const 51 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - i32.const 3 - i32.const 976 - call $~lib/rt/__newArray + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - call $~lib/string/String.fromCharCodes + i32.const 15 + i32.const 1280 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1008 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13264,28 +10870,31 @@ if i32.const 0 i32.const 96 - i32.const 31 + i32.const 52 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5 - i32.const 2 - i32.const 3 - i32.const 1040 - call $~lib/rt/__newArray + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - call $~lib/string/String.fromCharCodes + i32.const 3 + i32.const 1280 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1088 + i32.const 1312 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13296,42 +10905,31 @@ if i32.const 0 i32.const 96 - i32.const 32 + i32.const 53 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - call $~lib/string/String.fromCodePoint + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 752 + i32.const 10 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 34 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 54 - call $~lib/string/String.fromCodePoint + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 848 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13342,123 +10940,101 @@ if i32.const 0 i32.const 96 - i32.const 35 + i32.const 54 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 119558 - call $~lib/string/String.fromCodePoint + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 1120 + i32.const 100 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 36 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1152 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#startsWith + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 38 + i32.const 55 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 1216 + i32.const 5 + i32.const 1280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - global.get $~lib/string/String.MAX_LENGTH - call $~lib/string/String#endsWith - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 39 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1248 + i32.const 1520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#includes + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 40 + i32.const 56 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 0 - i32.const 1280 + i32.const 6 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#padStart + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - global.get $std/string/str + i32.const 1552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13469,31 +11045,31 @@ if i32.const 0 i32.const 96 - i32.const 42 + i32.const 57 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 15 - i32.const 1280 + i32.const 8 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#padStart + call $~lib/string/String#padEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - global.get $std/string/str + i32.const 1584 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -13504,7 +11080,7 @@ if i32.const 0 i32.const 96 - i32.const 43 + i32.const 58 i32.const 1 call $~lib/builtins/abort unreachable @@ -13513,208 +11089,298 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 3 - i32.const 1280 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + i32.const 0 + call $~lib/string/String#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 60 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1312 + i32.const 1152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 44 + i32.const 61 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 10 - i32.const 688 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + i32.const 0 + call $~lib/string/String#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 62 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#indexOf + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 45 + i32.const 63 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 100 i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + i32.const 0 + call $~lib/string/String#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 64 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#indexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 46 + i32.const 65 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 5 - i32.const 1280 + i32.const 1664 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 66 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1376 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 2 + call $~lib/string/String#indexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 47 + i32.const 67 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 6 - i32.const 1408 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + i32.const 3 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 68 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1440 + i32.const 1696 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const -1 + call $~lib/string/String#indexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 48 + i32.const 69 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 8 - i32.const 1408 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padStart + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 71 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1472 + i32.const 1152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 49 + i32.const 72 i32.const 1 call $~lib/builtins/abort unreachable @@ -13723,33 +11389,29 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const 1280 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 + i32.store local.get $4 - call $~lib/string/String#padEnd + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=4 local.get $4 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String#get:length + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 51 + i32.const 73 i32.const 1 call $~lib/builtins/abort unreachable @@ -13758,243 +11420,198 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 - local.get $4 - i32.const 15 - i32.const 1280 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 i32.store local.get $4 - global.get $std/string/str + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 52 + i32.const 74 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 3 - i32.const 1280 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1312 + i32.const 1664 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 53 + i32.const 75 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 10 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 1728 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#lastIndexOf + i32.const 15 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 54 + i32.const 76 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const 100 - i32.const 688 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#padEnd + i32.const 2 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 77 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 3 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 55 + i32.const 78 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 5 - i32.const 1280 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1520 + i32.const 1696 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const -1 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 56 + i32.const 79 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 6 - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1552 + i32.const 1760 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 57 + i32.const 80 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 8 - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1584 + i32.const 1152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#lastIndexOf + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 58 + i32.const 81 i32.const 1 call $~lib/builtins/abort unreachable @@ -14011,45 +11628,43 @@ local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf + call $~lib/string/String#localeCompare i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 60 + i32.const 83 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1152 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 + call $~lib/string/String#localeCompare + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 61 + i32.const 84 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -14061,190 +11676,182 @@ local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 + call $~lib/string/String#localeCompare + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 62 + i32.const 85 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - global.get $std/string/str + i32.const 1184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf + call $~lib/string/String#localeCompare i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 63 + i32.const 86 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 1792 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 + call $~lib/string/String#localeCompare + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 64 + i32.const 87 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1792 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 2 + call $~lib/string/String#localeCompare + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 65 + i32.const 88 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1664 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 + call $~lib/string/String#localeCompare + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 66 + i32.const 89 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 2 - call $~lib/string/String#indexOf - i32.const 2 + call $~lib/string/String#localeCompare + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 67 + i32.const 90 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 1312 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 3 - call $~lib/string/String#indexOf + call $~lib/string/String#localeCompare i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 68 + i32.const 91 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 752 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1696 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const -1 - call $~lib/string/String#indexOf - i32.const 2 + call $~lib/string/String#localeCompare + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 69 + i32.const 92 i32.const 1 call $~lib/builtins/abort unreachable @@ -14253,6 +11860,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trimStart + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store local.get $4 i32.const 688 @@ -14261,768 +11874,654 @@ local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 71 + i32.const 94 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 1856 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trimStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1152 + i32.const 1856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 72 + i32.const 95 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1888 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 688 + call $~lib/string/String#trimStart local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - global.get $std/string/str + i32.const 1936 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=4 local.get $4 - call $~lib/string/String#get:length - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 73 + i32.const 96 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trimEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 74 + i32.const 98 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1856 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trimEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1664 + i32.const 1856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 75 + i32.const 99 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1888 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trimEnd local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1728 + i32.const 1984 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#lastIndexOf - i32.const 15 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 76 + i32.const 100 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trim local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 2 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 77 + i32.const 102 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1856 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trim local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 1856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 3 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 78 + i32.const 103 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1888 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String#trim local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1696 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const -1 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 79 + i32.const 104 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1760 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 i32.const 0 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.eq + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 80 + i32.const 106 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 2064 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1152 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - call $~lib/string/String#lastIndexOf i32.const 0 - i32.eq + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 81 + i32.const 107 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare i32.const 0 - i32.eq + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 83 + i32.const 108 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 2128 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 84 + i32.const 109 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 2160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 5 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 85 + i32.const 110 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1184 + i32.const 2192 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1184 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare i32.const 0 - i32.eq + call $~lib/string/parseInt + f64.const 455 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 86 + i32.const 111 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 2224 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1792 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 87 + i32.const 112 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1792 + i32.const 2256 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 88 + i32.const 113 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1824 + i32.const 2288 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 11 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 89 + i32.const 114 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 2320 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1824 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 90 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 2352 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1312 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const -123 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 91 + i32.const 116 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 752 + i32.const 2384 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + i32.const 0 + call $~lib/string/parseInt + f64.const 123 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 92 + i32.const 117 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimStart + i32.const 2416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const -12 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 94 + i32.const 118 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimStart + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 95 + i32.const 119 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1888 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimStart + i32.const 2448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1936 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 96 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimEnd + i32.const 2480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 16 + call $~lib/string/parseInt + f64.const 2833 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 98 + i32.const 121 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimEnd + i32.const 2512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 99 + i32.const 122 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1888 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trimEnd + i32.const 2544 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1984 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 100 + i32.const 123 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trim + i32.const 2576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 102 + i32.const 124 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trim + i32.const 2608 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1856 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/parseInt + local.set $2 + local.get $2 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 103 + i32.const 125 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1888 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String#trim + i32.const 2640 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 0 + call $~lib/string/parseInt + i32.const 2688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store local.get $4 - call $~lib/string/String.__eq + i32.const 16 + call $~lib/string/parseInt + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 104 + i32.const 126 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2032 + i32.const 2720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15030,75 +12529,75 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 0 + f64.const 36893488147419103232 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 106 + i32.const 127 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2064 + i32.const 2720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 + i32.const 13 call $~lib/string/parseInt - f64.const 0 + f64.const 5135857308667095285760 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 107 + i32.const 128 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2096 + i32.const 2784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 + i32.const 10 call $~lib/string/parseInt - f64.const 1 + f64.const -1.e+24 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 108 + i32.const 129 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2128 + i32.const 2864 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 + i32.const 16 call $~lib/string/parseInt - f64.const 1 + f64.const 75557863725914323419136 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 109 + i32.const 130 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2160 + i32.const 2928 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15106,18 +12605,18 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 5 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 110 + i32.const 131 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2192 + i32.const 2960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15125,18 +12624,18 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 455 + f64.const 2 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 111 + i32.const 132 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2224 + i32.const 3008 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15144,18 +12643,18 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 3855 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 112 + i32.const 134 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2256 + i32.const 3040 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15163,18 +12662,18 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 3855 + f64.const 2 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 113 + i32.const 135 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2288 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15182,18 +12681,19 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 11 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 114 + i32.const 136 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2320 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15201,18 +12701,19 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 115 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2352 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15220,37 +12721,39 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const -123 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 116 + i32.const 138 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2384 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 + i32.const 37 call $~lib/string/parseInt - f64.const 123 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 117 + i32.const 139 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2416 + i32.const 3152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15258,18 +12761,19 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const -12 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 118 + i32.const 140 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2032 + i32.const 3184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15277,551 +12781,512 @@ local.get $4 i32.const 0 call $~lib/string/parseInt - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 119 + i32.const 141 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2448 + i32.const 3184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + call $~lib/number/F32.parseInt + local.tee $3 + local.get $3 + f32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 120 + i32.const 142 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2480 + i32.const 3184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16 - call $~lib/string/parseInt - f64.const 2833 - f64.eq + i32.const 0 + call $~lib/number/F64.parseInt + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 121 + i32.const 143 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2512 + i32.const 3216 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + call $~lib/number/I32.parseInt + global.get $~lib/number/I32.MAX_VALUE + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 122 + i32.const 145 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2544 + i32.const 3264 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + call $~lib/number/I64.parseInt + global.get $~lib/number/I64.MAX_VALUE + i64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 123 + i32.const 146 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2576 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 + call $~lib/string/parseFloat + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 124 + i32.const 149 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2608 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.set $2 - local.get $2 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - i32.const 0 - i32.ne + call $~lib/string/parseFloat + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 125 + i32.const 150 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2640 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 0 - call $~lib/string/parseInt - i32.const 2688 + i32.const 3520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16 - call $~lib/string/parseInt + call $~lib/string/parseFloat + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 126 + i32.const 151 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2720 + i32.const 3552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 36893488147419103232 + call $~lib/string/parseFloat + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 127 + i32.const 152 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2720 + i32.const 3584 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13 - call $~lib/string/parseInt - f64.const 5135857308667095285760 + call $~lib/string/parseFloat + f64.const 1e-05 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 128 + i32.const 153 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2784 + i32.const 3616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 10 - call $~lib/string/parseInt - f64.const -1.e+24 + call $~lib/string/parseFloat + f64.const -1e-05 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 129 + i32.const 154 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2864 + i32.const 3648 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16 - call $~lib/string/parseInt - f64.const 75557863725914323419136 + call $~lib/string/parseFloat + f64.const -3e-23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 130 + i32.const 155 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2928 + i32.const 3696 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 + call $~lib/string/parseFloat + f64.const 3e21 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 131 + i32.const 156 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2960 + i32.const 3744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 2 + call $~lib/string/parseFloat + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 132 + i32.const 157 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3008 + i32.const 3776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 + call $~lib/string/parseFloat + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 134 + i32.const 158 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3040 + i32.const 3808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - f64.const 2 + call $~lib/string/parseFloat + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 135 + i32.const 159 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 3840 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 0.25 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 136 + i32.const 160 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3088 + i32.const 3872 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 1e3 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 137 + i32.const 161 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 3904 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 1e-10 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 138 + i32.const 162 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1408 + i32.const 3952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 37 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 1e-30 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 139 + i32.const 163 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3152 + i32.const 4000 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 1e-323 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 140 + i32.const 164 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3184 + i32.const 4048 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/string/parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 141 + i32.const 165 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3184 + i32.const 4096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/number/F32.parseInt - local.tee $3 - local.get $3 - f32.ne + call $~lib/string/parseFloat + f64.const 1.e+308 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 142 + i32.const 166 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3184 + i32.const 4128 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/number/F64.parseInt - local.tee $2 - local.get $2 - f64.ne + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 143 + i32.const 167 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3216 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/number/I32.parseInt - global.get $~lib/number/I32.MAX_VALUE - i32.eq + call $~lib/string/parseFloat + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 145 + i32.const 168 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3264 + i32.const 4160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - call $~lib/number/I64.parseInt - global.get $~lib/number/I64.MAX_VALUE - i64.eq + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 146 + i32.const 171 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2032 + i32.const 4208 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e-10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 149 + i32.const 172 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2096 + i32.const 4256 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 150 + i32.const 173 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3520 + i32.const 4304 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15834,12 +13299,12 @@ if i32.const 0 i32.const 96 - i32.const 151 + i32.const 174 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3552 + i32.const 4336 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -15852,427 +13317,426 @@ if i32.const 0 i32.const 96 - i32.const 152 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3584 + i32.const 4368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-05 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 153 + i32.const 176 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3616 + i32.const 4416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1e-05 + f64.const 123456789 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 154 + i32.const 177 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3648 + i32.const 4464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -3e-23 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 155 + i32.const 178 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3696 + i32.const 4512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 3e21 + f64.const 1e-60 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 156 + i32.const 180 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3744 + i32.const 4544 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 1.e+60 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 157 + i32.const 181 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3776 + i32.const 4576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 123.4 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 158 + i32.const 184 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3808 + i32.const 4608 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 + f64.const -0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 159 + i32.const 185 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3840 + i32.const 4656 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.25 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 160 + i32.const 186 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3872 + i32.const 4688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e3 + f64.const -1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 161 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3904 + i32.const 4736 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-10 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 162 + i32.const 188 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3952 + i32.const 4784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-30 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 163 + i32.const 189 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4000 + i32.const 4832 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-323 + f64.const 0.022 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 164 + i32.const 190 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4048 + i32.const 4880 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 11 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 165 + i32.const 191 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4096 + i32.const 2448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+308 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 166 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4128 + i32.const 4912 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 167 + i32.const 193 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 4944 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 168 + i32.const 194 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4160 + i32.const 4976 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 171 + i32.const 195 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4208 + i32.const 5008 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-10 + f64.const -1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 172 + i32.const 196 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4256 + i32.const 5040 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const -1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 173 + i32.const 197 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4304 + i32.const 5072 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const -1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 174 + i32.const 198 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4336 + i32.const 5104 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const -1.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 175 + i32.const 199 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4368 + i32.const 5136 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 176 + i32.const 200 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4416 + i32.const 5168 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 123456789 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 177 + i32.const 201 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4464 + i32.const 5200 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -16285,228 +13749,228 @@ if i32.const 0 i32.const 96 - i32.const 178 + i32.const 202 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4512 + i32.const 5232 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-60 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 180 + i32.const 203 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4544 + i32.const 5264 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+60 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 181 + i32.const 204 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4576 + i32.const 5296 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 123.4 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 184 + i32.const 205 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 5328 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -0 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 185 + i32.const 206 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4656 + i32.const 5376 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 186 + i32.const 207 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4688 + i32.const 5408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 187 + i32.const 208 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4736 + i32.const 5440 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 188 + i32.const 209 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4784 + i32.const 5472 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 189 + i32.const 210 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4832 + i32.const 5504 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.022 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 190 + i32.const 211 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4880 + i32.const 5536 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 11 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 191 + i32.const 212 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2448 + i32.const 5568 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 192 + i32.const 213 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4912 + i32.const 5600 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.01 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 193 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4944 + i32.const 5648 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -16519,156 +13983,156 @@ if i32.const 0 i32.const 96 - i32.const 194 + i32.const 215 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4976 + i32.const 5680 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 195 + i32.const 216 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5008 + i32.const 5712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 196 + i32.const 217 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5040 + i32.const 5744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 197 + i32.const 218 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5072 + i32.const 5776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 198 + i32.const 219 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5104 + i32.const 5808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 199 + i32.const 220 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5136 + i32.const 5840 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 200 + i32.const 221 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5168 + i32.const 5872 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 201 + i32.const 222 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5200 + i32.const 5904 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 202 + i32.const 223 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5232 + i32.const 5936 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -16681,1902 +14145,2046 @@ if i32.const 0 i32.const 96 - i32.const 203 + i32.const 224 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5264 + i32.const 5968 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const -0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 204 + i32.const 225 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5296 + i32.const 6000 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 205 + i32.const 226 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5328 + i32.const 2608 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 206 + i32.const 227 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5376 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 207 + i32.const 228 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5408 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 208 + i32.const 229 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5440 + i32.const 6032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 209 + i32.const 230 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5472 + i32.const 6064 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 210 + i32.const 231 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5504 + i32.const 6096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 10 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 211 + i32.const 232 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5536 + i32.const 6128 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 212 + i32.const 233 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5568 + i32.const 6160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 213 + i32.const 234 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5600 + i32.const 6192 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.01 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 214 + i32.const 235 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5648 + i32.const 6224 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 215 + i32.const 236 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5680 + i32.const 6256 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 216 + i32.const 237 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5712 + i32.const 6288 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 217 + i32.const 238 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5744 + i32.const 6320 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 218 + i32.const 239 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5776 + i32.const 6352 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0 - f64.eq + call $~lib/string/parseFloat + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 219 + i32.const 240 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5808 + i32.const 6384 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 220 + i32.const 241 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5840 + i32.const 6416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 221 + i32.const 242 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5872 + i32.const 6448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.1 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 222 + i32.const 243 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5904 + i32.const 6480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e22 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 223 + i32.const 244 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5936 + i32.const 6512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e-22 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 224 + i32.const 245 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5968 + i32.const 6544 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const -0 + f64.const 1.e+23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 225 + i32.const 246 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6000 + i32.const 6576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e-23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 226 + i32.const 247 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2608 + i32.const 6608 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 1.e+37 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 227 + i32.const 248 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 6640 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 1e-37 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 228 + i32.const 249 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3088 + i32.const 6672 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 1.e+38 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 229 + i32.const 250 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6032 + i32.const 6704 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 1e-38 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 230 + i32.const 251 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6064 + i32.const 6736 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + global.get $~lib/builtins/f64.EPSILON + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 231 + i32.const 252 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6096 + i32.const 6800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + global.get $~lib/builtins/f64.MAX_VALUE + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 232 + i32.const 253 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6128 + i32.const 6880 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + global.get $~lib/builtins/f64.MIN_VALUE + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 233 + i32.const 254 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6160 + i32.const 6912 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 1.e+308 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 234 + i32.const 255 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6192 + i32.const 6960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 235 + i32.const 256 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6224 + i32.const 7104 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 236 + i32.const 257 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6256 + i32.const 7152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 237 + i32.const 258 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6288 + i32.const 7200 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 238 + i32.const 259 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6320 + i32.const 7248 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const inf + f64.neg + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 239 + i32.const 260 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6352 + i32.const 7296 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 240 + i32.const 261 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6384 + i32.const 7344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 241 + i32.const 262 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6416 + i32.const 7392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 242 + i32.const 263 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6448 + i32.const 7424 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 243 + i32.const 264 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6480 + i32.const 7472 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e22 + f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 244 + i32.const 265 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6512 + i32.const 7520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-22 + f64.const inf + f64.neg f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 245 + i32.const 266 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6544 + i32.const 7568 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+23 + f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 246 + i32.const 267 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6576 + i32.const 7616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-23 + f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 247 + i32.const 268 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6608 + i32.const 7664 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+37 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 248 + i32.const 269 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6640 + i32.const 7696 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-37 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 249 + i32.const 270 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6672 + i32.const 7744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+38 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 250 + i32.const 271 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6704 + i32.const 7792 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1e-38 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 251 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6736 + i32.const 7984 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.EPSILON + global.get $std/string/Ox1p_1073 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 252 + i32.const 288 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6800 + i32.const 8176 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MAX_VALUE + global.get $std/string/Ox1_0000000000001p_1022 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 253 + i32.const 292 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6880 + i32.const 8368 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=28 + local.get $4 + i32.const 8528 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=32 + local.get $4 + call $~lib/string/String.__concat + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=20 + local.get $4 + i32.const 8688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=24 + local.get $4 + call $~lib/string/String.__concat + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 8848 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String.__concat + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + i32.const 9008 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MIN_VALUE + global.get $~lib/builtins/f64.MAX_VALUE f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 254 + i32.const 295 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6912 + i32.const 9168 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1.e+308 + f64.const 9.753531888799502e-104 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 255 + i32.const 313 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6960 + i32.const 9280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 1 + f64.const 0.5961860348131807 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 256 + i32.const 314 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7104 + i32.const 9392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.18150131692180388 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 257 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7152 + i32.const 9504 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 0.42070823575344535 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 258 + i32.const 316 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7200 + i32.const 9616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.6654686306516261 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 259 + i32.const 317 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7248 + i32.const 9728 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf - f64.neg + f64.const 0.6101852922970868 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 260 + i32.const 318 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7296 + i32.const 9840 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.7696695208236968 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 261 + i32.const 319 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7344 + i32.const 9952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 0.25050653222286823 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 262 + i32.const 320 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7392 + i32.const 10064 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 0.2740037230228005 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 263 + i32.const 321 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7424 + i32.const 10176 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 0.20723093500497428 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 264 + i32.const 322 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7472 + i32.const 10288 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 7.900280238081605 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 265 + i32.const 323 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7520 + i32.const 10400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf - f64.neg + f64.const 98.22860653737297 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 266 + i32.const 324 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7568 + i32.const 10512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 746.894972319037 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 267 + i32.const 325 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7616 + i32.const 10624 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const inf + f64.const 1630.2683202827284 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 268 + i32.const 326 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7664 + i32.const 10736 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 46371.68629719171 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 269 + i32.const 327 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7696 + i32.const 10848 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 653780.5944497711 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 270 + i32.const 328 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7744 + i32.const 10960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + f64.const 234632.43565024371 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 271 + i32.const 329 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7792 + i32.const 11072 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0 + f64.const 97094817.16420048 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 275 + i32.const 330 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7984 + i32.const 11184 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $std/string/Ox1p_1073 + f64.const 499690852.20518744 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 288 + i32.const 331 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8176 + i32.const 11296 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $std/string/Ox1_0000000000001p_1022 + f64.const 7925201200557245595648 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 292 + i32.const 332 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8368 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=28 - local.get $4 - i32.const 8528 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=32 - local.get $4 - call $~lib/string/String.__concat - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $4 - i32.const 8688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=24 - local.get $4 - call $~lib/string/String.__concat - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 8848 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String.__concat - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 9008 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - call $~lib/string/String.__concat + i32.const 11408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MAX_VALUE + f64.const 6096564585983177528398588e5 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 295 + i32.const 333 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9168 + i32.const 11520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 9.753531888799502e-104 + f64.const 4800416117477028695992383e42 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 313 + i32.const 334 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9280 + i32.const 11632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.5961860348131807 + f64.const 8524829079817968137287277e80 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 314 + i32.const 335 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9392 + i32.const 11744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.18150131692180388 + f64.const 3271239291709782092398754e243 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 315 + i32.const 336 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9504 + i32.const 11856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.42070823575344535 - f64.eq + local.tee $2 + local.get $2 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 316 + i32.const 339 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9616 + i32.const 11888 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 call $~lib/string/parseFloat - f64.const 0.6654686306516261 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 317 + i32.const 340 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9728 + global.get $~lib/memory/__stack_pointer + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.6101852922970868 - f64.eq + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__concat + local.tee $1 + i32.store offset=36 + local.get $1 + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 318 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 347 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9840 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.7696695208236968 - f64.eq + global.get $std/string/nullStr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 319 + i32.const 349 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9952 + global.get $std/string/nullStr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.25050653222286823 - f64.eq + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 320 + i32.const 351 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10064 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.2740037230228005 - f64.eq + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 321 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10176 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.20723093500497428 - f64.eq + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 322 + i32.const 354 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10288 + i32.const 11984 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 7.900280238081605 - f64.eq + i32.const 12016 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 323 + i32.const 356 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10400 + i32.const 11984 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 98.22860653737297 - f64.eq + i32.const 11984 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 324 + i32.const 357 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10512 + i32.const 12048 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 746.894972319037 - f64.eq + i32.const 12080 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 325 + i32.const 359 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10624 + i32.const 12112 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 1630.2683202827284 - f64.eq + i32.const 12144 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 326 + i32.const 361 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10736 + i32.const 12176 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 46371.68629719171 - f64.eq + i32.const 12176 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 327 + i32.const 362 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10848 + i32.const 12176 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 653780.5944497711 - f64.eq + i32.const 12224 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 328 + i32.const 364 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10960 + i32.const 12272 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 234632.43565024371 - f64.eq + i32.const 12320 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 329 + i32.const 366 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11072 + i32.const 11920 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 97094817.16420048 - f64.eq + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 330 + i32.const 368 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11184 + i32.const 12368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 499690852.20518744 - f64.eq + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 331 + i32.const 369 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11296 + i32.const 12368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 7925201200557245595648 - f64.eq + i32.const 12400 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 332 + i32.const 370 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11408 + i32.const 12368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 6096564585983177528398588e5 - f64.eq + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 333 + i32.const 371 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11520 + i32.const 12368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 4800416117477028695992383e42 - f64.eq + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 334 + i32.const 372 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11632 + i32.const 11920 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 8524829079817968137287277e80 - f64.eq + global.get $std/string/nullStr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 335 + i32.const 375 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11744 + global.get $std/string/nullStr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 3271239291709782092398754e243 - f64.eq + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 336 + i32.const 377 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11856 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - local.tee $2 - local.get $2 - f64.ne + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 339 + i32.const 379 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11888 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/string/parseFloat - f64.const 0.1 - f64.eq + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__lt i32.eqz if i32.const 0 i32.const 96 - i32.const 340 + i32.const 380 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 784 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11920 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__concat - local.tee $1 - i32.store offset=36 - local.get $1 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 381 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11952 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 344 - i32.const 3 + i32.const 382 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $1 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 345 - i32.const 3 + i32.const 383 + i32.const 1 call $~lib/builtins/abort unreachable end @@ -18586,18 +16194,19 @@ local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String.__gt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 347 + i32.const 384 i32.const 1 call $~lib/builtins/abort unreachable @@ -18608,23 +16217,24 @@ local.get $4 i32.store local.get $4 - global.get $std/string/nullStr + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 349 + i32.const 385 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -18636,221 +16246,225 @@ local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__gt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 351 + i32.const 386 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11920 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 353 + i32.const 387 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 354 + i32.const 388 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11984 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12016 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt i32.eqz if i32.const 0 i32.const 96 - i32.const 356 + i32.const 390 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11984 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11984 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 357 + i32.const 391 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12048 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12080 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 359 + i32.const 392 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12112 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12144 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__gt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 361 + i32.const 393 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12176 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12176 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 362 + i32.const 394 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12176 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12224 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt i32.eqz if i32.const 0 i32.const 96 - i32.const 364 + i32.const 395 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12272 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12320 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 366 + i32.const 396 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11920 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -18858,43 +16472,44 @@ local.get $4 call $~lib/string/String.__gt i32.eqz + i32.eqz if i32.const 0 i32.const 96 - i32.const 368 + i32.const 397 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 369 + i32.const 398 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12400 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -18905,232 +16520,259 @@ if i32.const 0 i32.const 96 - i32.const 370 + i32.const 399 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11952 + i32.const 12496 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__gte + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 371 + i32.const 400 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 12496 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11952 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 372 + i32.const 401 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11920 + i32.const 12432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - global.get $std/string/nullStr + i32.const 12496 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 375 + i32.const 402 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11920 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 377 + i32.const 403 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 379 + i32.const 404 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 380 + i32.const 405 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 12528 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gte + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 381 + i32.const 407 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 12560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 12560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lte + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 382 + i32.const 408 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 12592 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 12560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 383 + i32.const 410 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + global.get $~lib/memory/__stack_pointer + i32.const 65377 + call $~lib/string/String.fromCodePoint + local.tee $1 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + i32.const 55296 + call $~lib/string/String.fromCodePoint local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 56322 + call $~lib/string/String.fromCodePoint local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 + call $~lib/string/String.__concat + local.tee $0 + i32.store offset=40 + local.get $1 + local.get $0 call $~lib/string/String.__gt i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1408 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/string/String#get:length + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 384 + i32.const 418 i32.const 1 call $~lib/builtins/abort unreachable @@ -19139,6 +16781,13 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=8 + local.get $4 + i32.const 100 + call $~lib/string/String#repeat + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store local.get $4 i32.const 688 @@ -19147,18 +16796,24 @@ local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 385 + i32.const 420 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19170,359 +16825,404 @@ local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 386 + i32.const 421 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 1 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gte + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 387 + i32.const 422 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 2 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 12400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lte + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 388 + i32.const 423 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2096 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 3 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12432 + i32.const 12672 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 390 + i32.const 424 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12432 + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 4 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 12704 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 391 + i32.const 425 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 5 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12432 + i32.const 12752 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 392 + i32.const 426 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12432 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 6 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12464 + i32.const 12784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 393 + i32.const 427 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 7 + call $~lib/string/String#repeat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12432 + i32.const 12816 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 394 + i32.const 428 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12432 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 12464 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=12 local.get $4 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 395 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12464 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12464 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 396 + i32.const 430 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 12464 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=12 local.get $4 - call $~lib/string/String.__gt - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 397 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12464 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12464 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lte + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 398 + i32.const 431 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 12464 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=12 local.get $4 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 399 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12432 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12496 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 400 + i32.const 432 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12496 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - i32.const 12432 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=12 local.get $4 - call $~lib/string/String.__gte - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 401 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12432 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12496 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__lte + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 402 + i32.const 433 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2096 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 3088 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19533,18 +17233,36 @@ if i32.const 0 i32.const 96 - i32.const 403 + i32.const 434 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12464 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19555,18 +17273,36 @@ if i32.const 0 i32.const 96 - i32.const 404 + i32.const 435 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1408 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 1824 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1408 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19577,154 +17313,156 @@ if i32.const 0 i32.const 96 - i32.const 405 + i32.const 436 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1408 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12528 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 407 + i32.const 437 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12560 + i32.const 12864 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=12 local.get $4 - i32.const 12560 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 408 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12592 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12560 + i32.const 12896 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__ne + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 410 + i32.const 438 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 1344 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 65377 - call $~lib/string/String.fromCodePoint - local.tee $1 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 55296 - call $~lib/string/String.fromCodePoint + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=12 local.get $4 - i32.const 56322 - call $~lib/string/String.fromCodePoint + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 + i32.store offset=16 local.get $4 - call $~lib/string/String.__concat - local.tee $0 - i32.store offset=40 - local.get $1 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - local.get $0 + i32.const 12928 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__gt + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 415 - i32.const 3 + i32.const 439 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1408 + i32.const 12960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=8 local.get $4 - call $~lib/string/String#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 418 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 688 + i32.const 12992 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store offset=12 local.get $4 - i32.const 100 - call $~lib/string/String#repeat + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 12928 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19735,25 +17473,36 @@ if i32.const 0 i32.const 96 - i32.const 420 + i32.const 440 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 0 - call $~lib/string/String#repeat + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 13056 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 13088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19764,25 +17513,36 @@ if i32.const 0 i32.const 96 - i32.const 421 + i32.const 441 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1 - call $~lib/string/String#repeat + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replace local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 784 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19793,25 +17553,36 @@ if i32.const 0 i32.const 96 - i32.const 422 + i32.const 442 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 2 - call $~lib/string/String#repeat + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12400 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19822,25 +17593,36 @@ if i32.const 0 i32.const 96 - i32.const 423 + i32.const 444 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 3 - call $~lib/string/String#repeat + i32.const 3088 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12672 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19851,25 +17633,36 @@ if i32.const 0 i32.const 96 - i32.const 424 + i32.const 445 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11952 + i32.const 1552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 4 - call $~lib/string/String#repeat + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12704 + i32.const 13056 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19880,25 +17673,36 @@ if i32.const 0 i32.const 96 - i32.const 425 + i32.const 447 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 13120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 5 - call $~lib/string/String#repeat + i32.const 1344 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 3120 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12752 + i32.const 13168 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19909,25 +17713,36 @@ if i32.const 0 i32.const 96 - i32.const 426 + i32.const 448 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 1552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 6 - call $~lib/string/String#repeat + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 11952 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12784 + i32.const 1552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19938,25 +17753,36 @@ if i32.const 0 i32.const 96 - i32.const 427 + i32.const 449 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 13200 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 7 - call $~lib/string/String#repeat + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + i32.const 13168 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=16 + local.get $4 + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12816 + i32.const 13248 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -19967,36 +17793,36 @@ if i32.const 0 i32.const 96 - i32.const 428 + i32.const 450 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 1552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 688 + i32.const 13056 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 13296 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20007,36 +17833,36 @@ if i32.const 0 i32.const 96 - i32.const 430 + i32.const 451 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 13328 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 + i32.const 13360 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 13056 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3120 + i32.const 13392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20047,36 +17873,36 @@ if i32.const 0 i32.const 96 - i32.const 431 + i32.const 452 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 3120 + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 688 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20087,36 +17913,36 @@ if i32.const 0 i32.const 96 - i32.const 432 + i32.const 453 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 + i32.const 13424 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 688 + i32.const 13056 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3120 + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20127,7 +17953,7 @@ if i32.const 0 i32.const 96 - i32.const 433 + i32.const 454 i32.const 1 call $~lib/builtins/abort unreachable @@ -20138,7 +17964,7 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const 3088 + i32.const 13456 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20150,13 +17976,13 @@ local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 13488 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20167,18 +17993,18 @@ if i32.const 0 i32.const 96 - i32.const 434 + i32.const 455 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1344 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20190,7 +18016,7 @@ local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20207,18 +18033,18 @@ if i32.const 0 i32.const 96 - i32.const 435 + i32.const 456 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 12864 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1824 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20230,13 +18056,13 @@ local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 13520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20247,36 +18073,36 @@ if i32.const 0 i32.const 96 - i32.const 436 + i32.const 457 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 11952 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 11952 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20287,18 +18113,18 @@ if i32.const 0 i32.const 96 - i32.const 437 + i32.const 459 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12864 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 3088 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20310,13 +18136,13 @@ local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12896 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20327,36 +18153,36 @@ if i32.const 0 i32.const 96 - i32.const 438 + i32.const 460 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12928 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20367,36 +18193,36 @@ if i32.const 0 i32.const 96 - i32.const 439 + i32.const 461 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12960 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 12992 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12928 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20407,7 +18233,7 @@ if i32.const 0 i32.const 96 - i32.const 440 + i32.const 462 i32.const 1 call $~lib/builtins/abort unreachable @@ -20418,25 +18244,25 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const 13024 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 13056 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13088 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20447,7 +18273,7 @@ if i32.const 0 i32.const 96 - i32.const 441 + i32.const 463 i32.const 1 call $~lib/builtins/abort unreachable @@ -20458,25 +18284,25 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const 13024 + i32.const 1792 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 688 + i32.const 3088 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=16 local.get $4 - call $~lib/string/String#replace + call $~lib/string/String#replaceAll local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 11952 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20487,12 +18313,12 @@ if i32.const 0 i32.const 96 - i32.const 442 + i32.const 464 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20504,7 +18330,7 @@ local.get $4 i32.store offset=12 local.get $4 - i32.const 1344 + i32.const 3120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20516,7 +18342,7 @@ local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 13552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20527,7 +18353,7 @@ if i32.const 0 i32.const 96 - i32.const 444 + i32.const 465 i32.const 1 call $~lib/builtins/abort unreachable @@ -20538,13 +18364,13 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const 3088 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20567,24 +18393,24 @@ if i32.const 0 i32.const 96 - i32.const 445 + i32.const 466 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1552 + i32.const 13600 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1344 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 13632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20596,7 +18422,7 @@ local.get $4 i32.store local.get $4 - i32.const 13056 + i32.const 13664 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20607,24 +18433,24 @@ if i32.const 0 i32.const 96 - i32.const 447 + i32.const 469 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13120 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1344 + i32.const 11952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 3120 + i32.const 13712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20636,7 +18462,7 @@ local.get $4 i32.store local.get $4 - i32.const 13168 + i32.const 13712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20647,24 +18473,24 @@ if i32.const 0 i32.const 96 - i32.const 448 + i32.const 470 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1552 + i32.const 12672 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 11952 + i32.const 784 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 11952 + i32.const 13744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20676,7 +18502,7 @@ local.get $4 i32.store local.get $4 - i32.const 1552 + i32.const 13776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20687,24 +18513,24 @@ if i32.const 0 i32.const 96 - i32.const 449 + i32.const 471 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13200 + i32.const 12672 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 784 + i32.const 12400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=12 local.get $4 - i32.const 13168 + i32.const 13632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20716,7 +18542,7 @@ local.get $4 i32.store local.get $4 - i32.const 13248 + i32.const 13824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20727,36 +18553,88 @@ if i32.const 0 i32.const 96 - i32.const 450 + i32.const 472 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1552 + i32.const 13856 + global.set $std/string/str + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 11952 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 + i32.store local.get $4 - i32.const 13056 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 476 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13904 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 477 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 local.get $4 - call $~lib/string/String#replaceAll + i32.const -5 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13296 + i32.const 13936 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20767,36 +18645,26 @@ if i32.const 0 i32.const 96 - i32.const 451 + i32.const 478 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13328 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 13360 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13056 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 2 + i32.const 7 + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13392 + i32.const 13968 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20807,36 +18675,26 @@ if i32.const 0 i32.const 96 - i32.const 452 + i32.const 479 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1824 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -11 + i32.const -6 + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 14000 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20847,36 +18705,26 @@ if i32.const 0 i32.const 96 - i32.const 453 + i32.const 480 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1824 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 13424 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13056 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 4 + i32.const 3 + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1824 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20887,36 +18735,26 @@ if i32.const 0 i32.const 96 - i32.const 454 + i32.const 481 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 13456 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 0 + i32.const -1 + call $~lib/string/String#slice local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13488 + i32.const 14032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20927,36 +18765,26 @@ if i32.const 0 i32.const 96 - i32.const 455 + i32.const 482 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11952 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 11952 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3120 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -20967,36 +18795,26 @@ if i32.const 0 i32.const 96 - i32.const 456 + i32.const 484 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12864 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 3088 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13520 + i32.const 13904 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21007,36 +18825,26 @@ if i32.const 0 i32.const 96 - i32.const 457 + i32.const 485 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -5 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 13936 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21047,36 +18855,26 @@ if i32.const 0 i32.const 96 - i32.const 459 + i32.const 486 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 2 + i32.const 7 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3120 + i32.const 14080 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21087,30 +18885,20 @@ if i32.const 0 i32.const 96 - i32.const 460 + i32.const 487 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 3120 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -11 + i32.const -6 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21127,36 +18915,26 @@ if i32.const 0 i32.const 96 - i32.const 461 + i32.const 488 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 4 + i32.const 3 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3120 + i32.const 14128 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21167,36 +18945,56 @@ if i32.const 0 i32.const 96 - i32.const 462 + i32.const 489 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1344 + i32.const 0 + i32.const -1 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 + i32.store local.get $4 - i32.const 3088 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=4 local.get $4 - call $~lib/string/String#replaceAll + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 490 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 100 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3088 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21207,36 +19005,26 @@ if i32.const 0 i32.const 96 - i32.const 463 + i32.const 491 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 1792 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 3088 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 4 + i32.const 4 + call $~lib/string/String#substr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 14160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21247,36 +19035,56 @@ if i32.const 0 i32.const 96 - i32.const 464 + i32.const 492 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 + i32.const 4 + i32.const -3 + call $~lib/string/String#substr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 + i32.store offset=4 local.get $4 - i32.const 3120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 493 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=16 + i32.store offset=8 local.get $4 - call $~lib/string/String#replaceAll + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13552 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21287,36 +19095,26 @@ if i32.const 0 i32.const 96 - i32.const 465 + i32.const 495 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1344 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -1 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1344 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21327,36 +19125,26 @@ if i32.const 0 i32.const 96 - i32.const 466 + i32.const 496 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13600 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13632 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -5 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13664 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21367,36 +19155,26 @@ if i32.const 0 i32.const 96 - i32.const 469 + i32.const 497 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11952 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 11952 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13712 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 2 + i32.const 7 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13712 + i32.const 13968 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21407,36 +19185,26 @@ if i32.const 0 i32.const 96 - i32.const 470 + i32.const 498 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12672 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13744 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const -11 + i32.const -6 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13776 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21447,36 +19215,26 @@ if i32.const 0 i32.const 96 - i32.const 471 + i32.const 499 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12672 + global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=8 local.get $4 - i32.const 12400 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - i32.const 13632 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 - call $~lib/string/String#replaceAll + i32.const 4 + i32.const 3 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13824 + i32.const 14192 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21487,13 +19245,11 @@ if i32.const 0 i32.const 96 - i32.const 472 + i32.const 500 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13856 - global.set $std/string/str global.get $std/string/str local.set $4 global.get $~lib/memory/__stack_pointer @@ -21501,14 +19257,14 @@ i32.store offset=8 local.get $4 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const -1 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21519,7 +19275,7 @@ if i32.const 0 i32.const 96 - i32.const 476 + i32.const 501 i32.const 1 call $~lib/builtins/abort unreachable @@ -21530,15 +19286,15 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const 0 + i32.const 100 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13904 + i32.const 13856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21549,7 +19305,7 @@ if i32.const 0 i32.const 96 - i32.const 477 + i32.const 502 i32.const 1 call $~lib/builtins/abort unreachable @@ -21560,15 +19316,15 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#slice + i32.const 4 + i32.const 4 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13936 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21579,7 +19335,7 @@ if i32.const 0 i32.const 96 - i32.const 478 + i32.const 503 i32.const 1 call $~lib/builtins/abort unreachable @@ -21590,15 +19346,15 @@ local.get $4 i32.store offset=8 local.get $4 - i32.const 2 - i32.const 7 - call $~lib/string/String#slice + i32.const 4 + i32.const -3 + call $~lib/string/String#substring local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13968 + i32.const 1824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21609,380 +19365,677 @@ if i32.const 0 i32.const 96 - i32.const 479 + i32.const 504 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + global.get $~lib/memory/__stack_pointer + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=8 + i32.store local.get $4 - i32.const -11 - i32.const -6 - call $~lib/string/String#slice + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 510 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14000 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 480 - i32.const 1 + i32.const 512 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const 3 - call $~lib/string/String#slice + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 481 - i32.const 1 + i32.const 514 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const -1 - call $~lib/string/String#slice + i32.const 14400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14032 + i32.const 6160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 14400 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 482 - i32.const 1 + i32.const 516 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr + i32.const 14400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 484 - i32.const 1 + i32.const 518 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr + i32.const 14432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13904 + i32.const 14480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else i32.const 0 - i32.const 96 - i32.const 485 - i32.const 1 - call $~lib/builtins/abort - unreachable end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substr - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13936 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 486 - i32.const 1 + i32.const 520 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - i32.const 7 - call $~lib/string/String#substr + i32.const 14512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14080 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $0 i32.const 0 - i32.const 96 - i32.const 487 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -11 - i32.const -6 - call $~lib/string/String#substr - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 488 - i32.const 1 + i32.const 522 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const 3 - call $~lib/string/String#substr + i32.const 14544 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14128 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $0 i32.const 0 - i32.const 96 - i32.const 489 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const -1 - call $~lib/string/String#substr - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 490 - i32.const 1 + i32.const 524 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const 100 - call $~lib/string/String#substr + i32.const 14576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $0 i32.const 0 - i32.const 96 - i32.const 491 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const 4 - call $~lib/string/String#substr - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 14160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 492 - i32.const 1 + i32.const 526 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const -3 - call $~lib/string/String#substr + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -21994,145 +20047,297 @@ local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 493 - i32.const 1 + i32.const 528 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 495 - i32.const 1 + i32.const 530 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -1 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 1 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 496 - i32.const 1 + i32.const 532 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -5 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#substring + i32.const 14400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 1 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 497 - i32.const 1 + i32.const 534 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - i32.const 7 - call $~lib/string/String#substring + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13968 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const 4 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 498 - i32.const 1 + i32.const 536 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const -11 - i32.const -6 - call $~lib/string/String#substring + i32.const 1344 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -22144,61 +20349,176 @@ local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const -1 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 499 - i32.const 1 + i32.const 538 + i32.const 3 call $~lib/builtins/abort unreachable - end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const 3 - call $~lib/string/String#substring + end + global.get $~lib/memory/__stack_pointer + i32.const 14400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14192 + i32.const 1632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - call $~lib/string/String.__eq + i32.const -1 + call $~lib/string/String#split + local.tee $0 + i32.store offset=40 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 784 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 11920 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 500 - i32.const 1 + i32.const 540 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 i32.const 0 - i32.const -1 - call $~lib/string/String#substring + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -22209,26 +20529,20 @@ if i32.const 0 i32.const 96 - i32.const 501 + i32.const 545 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - i32.const 100 - call $~lib/string/String#substring + i32.const 1 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13856 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -22239,26 +20553,20 @@ if i32.const 0 i32.const 96 - i32.const 502 + i32.const 546 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const 4 - call $~lib/string/String#substring + i32.const 8 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 16352 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -22269,26 +20577,20 @@ if i32.const 0 i32.const 96 - i32.const 503 + i32.const 547 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 4 - i32.const -3 - call $~lib/string/String#substring + i32.const 12 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1824 + i32.const 16384 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -22299,1415 +20601,644 @@ if i32.const 0 i32.const 96 - i32.const 504 + i32.const 548 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 688 + i32.const 123 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store + i32.store offset=4 local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 510 - i32.const 3 + i32.const 549 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 688 + i32.const -1000 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 16416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 512 - i32.const 3 + i32.const 550 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 688 + i32.const 1234 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 12560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 514 - i32.const 3 + i32.const 551 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14400 + i32.const 12345 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 6160 + i32.const 16448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 14400 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 516 - i32.const 3 + i32.const 552 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14400 + i32.const 123456 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 16480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 518 - i32.const 3 + i32.const 553 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14432 + i32.const 1111111 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 14480 + i32.const 16512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 554 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1234567 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16560 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 520 - i32.const 3 + i32.const 555 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14512 + i32.const 12345678 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 16608 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 522 - i32.const 3 + i32.const 556 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14544 + i32.const 123456789 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 16656 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 557 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else + i32.const 16704 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 + i32.const 96 + i32.const 558 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const 2147483647 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 16752 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 524 - i32.const 3 + i32.const 559 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14576 + i32.const -2147483648 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 16800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 560 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 10 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16848 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 526 - i32.const 3 + i32.const 561 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1344 + i32.const 0 + i32.const 10 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 563 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1000 + i32.const 10 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16880 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 528 - i32.const 3 + i32.const 564 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1344 + i32.const 2147483647 + i32.const 10 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 16752 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 0 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 530 - i32.const 3 + i32.const 565 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1344 + i32.const -2147483648 + i32.const 10 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 16912 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 566 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/u32.MAX_VALUE + i32.const 10 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 16960 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 532 - i32.const 3 + i32.const 567 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14400 + i32.const 0 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 571 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 2096 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 534 - i32.const 3 + i32.const 572 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1344 + i32.const 8 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 16352 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const 4 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 + i32.const 96 + i32.const 573 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const 12 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 13024 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 536 - i32.const 3 + i32.const 574 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1344 + i32.const 123 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 688 + i32.const 17008 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const -1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 575 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1234 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 17040 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 538 - i32.const 3 + i32.const 576 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14400 + i32.const 12345 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1632 + i32.const 17072 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store offset=4 local.get $4 - i32.const -1 - call $~lib/string/String#split - local.tee $0 - i32.store offset=40 - local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 577 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123456 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 784 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 11920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 13024 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 17104 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 540 - i32.const 3 + i32.const 578 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1111111 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 17136 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23718,20 +21249,20 @@ if i32.const 0 i32.const 96 - i32.const 545 + i32.const 579 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1234567 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 17168 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23742,20 +21273,20 @@ if i32.const 0 i32.const 96 - i32.const 546 + i32.const 580 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 12345678 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16352 + i32.const 17200 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23766,20 +21297,20 @@ if i32.const 0 i32.const 96 - i32.const 547 + i32.const 581 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 123456789 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16384 + i32.const 17232 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23790,20 +21321,20 @@ if i32.const 0 i32.const 96 - i32.const 548 + i32.const 582 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 2147483646 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1408 + i32.const 17280 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23814,20 +21345,20 @@ if i32.const 0 i32.const 96 - i32.const 549 + i32.const 583 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1000 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16416 + i32.const 17328 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23838,20 +21369,20 @@ if i32.const 0 i32.const 96 - i32.const 550 + i32.const 584 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12560 + i32.const 17376 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23862,20 +21393,20 @@ if i32.const 0 i32.const 96 - i32.const 551 + i32.const 585 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 16 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16448 + i32.const 17424 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23886,20 +21417,20 @@ if i32.const 0 i32.const 96 - i32.const 552 + i32.const 586 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 10 + i32.const 0 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16480 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23910,20 +21441,20 @@ if i32.const 0 i32.const 96 - i32.const 553 + i32.const 588 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1111111 - i32.const 10 + i32.const -4096 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16512 + i32.const 16416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23934,20 +21465,20 @@ if i32.const 0 i32.const 96 - i32.const 554 + i32.const 589 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 10 + i32.const 2147483647 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16560 + i32.const 17328 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23958,20 +21489,20 @@ if i32.const 0 i32.const 96 - i32.const 555 + i32.const 590 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345678 - i32.const 10 + i32.const -2147483647 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16608 + i32.const 17472 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -23982,20 +21513,20 @@ if i32.const 0 i32.const 96 - i32.const 556 + i32.const 591 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 10 + i32.const -268435455 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16656 + i32.const 17520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24006,20 +21537,20 @@ if i32.const 0 i32.const 96 - i32.const 557 + i32.const 592 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483646 - i32.const 10 + i32.const -2147483648 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16704 + i32.const 17568 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24030,20 +21561,20 @@ if i32.const 0 i32.const 96 - i32.const 558 + i32.const 593 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 10 + i32.const -2147483648 + i32.const 16 call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16752 + i32.const 17568 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24054,20 +21585,20 @@ if i32.const 0 i32.const 96 - i32.const 559 + i32.const 594 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 0 + i32.const 2 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16800 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24078,20 +21609,20 @@ if i32.const 0 i32.const 96 - i32.const 560 + i32.const 598 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1 + i32.const 2 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16848 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24102,20 +21633,20 @@ if i32.const 0 i32.const 96 - i32.const 561 + i32.const 599 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 10 + i32.const 3 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 12464 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24126,20 +21657,20 @@ if i32.const 0 i32.const 96 - i32.const 563 + i32.const 600 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1000 - i32.const 10 + i32.const 7 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16880 + i32.const 17616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24150,20 +21681,20 @@ if i32.const 0 i32.const 96 - i32.const 564 + i32.const 601 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 10 + i32.const 14 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16752 + i32.const 17648 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24174,20 +21705,20 @@ if i32.const 0 i32.const 96 - i32.const 565 + i32.const 602 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 10 + i32.const 29 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16912 + i32.const 17680 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24198,20 +21729,20 @@ if i32.const 0 i32.const 96 - i32.const 566 + i32.const 603 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/u32.MAX_VALUE - i32.const 10 + i32.const 59 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16960 + i32.const 17712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24222,20 +21753,20 @@ if i32.const 0 i32.const 96 - i32.const 567 + i32.const 604 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 16 + i32.const 4095 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 17744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24246,20 +21777,20 @@ if i32.const 0 i32.const 96 - i32.const 571 + i32.const 605 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 16 + i32.const 33554431 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 17792 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24270,20 +21801,20 @@ if i32.const 0 i32.const 96 - i32.const 572 + i32.const 606 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 16 + i32.const -12 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16352 + i32.const 17872 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24294,20 +21825,20 @@ if i32.const 0 i32.const 96 - i32.const 573 + i32.const 607 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12 - i32.const 16 + i32.const -4 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13024 + i32.const 17968 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24318,20 +21849,20 @@ if i32.const 0 i32.const 96 - i32.const 574 + i32.const 608 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123 - i32.const 16 + i32.const -2 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17008 + i32.const 18064 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24342,20 +21873,20 @@ if i32.const 0 i32.const 96 - i32.const 575 + i32.const 609 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234 - i32.const 16 + i32.const -1 + i32.const 2 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17040 + i32.const 18160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24366,20 +21897,20 @@ if i32.const 0 i32.const 96 - i32.const 576 + i32.const 610 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const -2047 + i32.const 2 + call $~lib/util/number/itoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17072 + i32.const 18256 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24390,20 +21921,20 @@ if i32.const 0 i32.const 96 - i32.const 577 + i32.const 612 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 16 + i32.const -1 + i32.const 3 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17104 + i32.const 18304 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24414,20 +21945,20 @@ if i32.const 0 i32.const 96 - i32.const 578 + i32.const 616 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1111111 - i32.const 16 + i32.const -1 + i32.const 4 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17136 + i32.const 18368 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24438,20 +21969,20 @@ if i32.const 0 i32.const 96 - i32.const 579 + i32.const 617 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 16 + i32.const -1 + i32.const 5 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17168 + i32.const 18432 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24462,20 +21993,20 @@ if i32.const 0 i32.const 96 - i32.const 580 + i32.const 618 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345678 - i32.const 16 + i32.const -1 + i32.const 8 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17200 + i32.const 18480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24486,20 +22017,20 @@ if i32.const 0 i32.const 96 - i32.const 581 + i32.const 619 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 16 + i32.const -1 + i32.const 11 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17232 + i32.const 18528 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24510,20 +22041,20 @@ if i32.const 0 i32.const 96 - i32.const 582 + i32.const 620 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483646 - i32.const 16 + i32.const -1 + i32.const 15 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17280 + i32.const 18576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24534,20 +22065,20 @@ if i32.const 0 i32.const 96 - i32.const 583 + i32.const 621 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 + i32.const -1 + i32.const 17 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17328 + i32.const 18624 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24558,20 +22089,20 @@ if i32.const 0 i32.const 96 - i32.const 584 + i32.const 622 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 + i32.const -1 + i32.const 21 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17376 + i32.const 18672 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24582,20 +22113,20 @@ if i32.const 0 i32.const 96 - i32.const 585 + i32.const 623 i32.const 1 call $~lib/builtins/abort unreachable end i32.const -1 - i32.const 16 + i32.const 27 call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17424 + i32.const 18720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24606,20 +22137,20 @@ if i32.const 0 i32.const 96 - i32.const 586 + i32.const 624 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 32 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 18768 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24630,20 +22161,20 @@ if i32.const 0 i32.const 96 - i32.const 588 + i32.const 625 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -4096 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + i32.const 36 + call $~lib/util/number/utoa32 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16416 + i32.const 18816 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24654,20 +22185,20 @@ if i32.const 0 i32.const 96 - i32.const 589 + i32.const 626 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/itoa32 + i64.const 0 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17328 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24678,20 +22209,20 @@ if i32.const 0 i32.const 96 - i32.const 590 + i32.const 630 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - i32.const 16 - call $~lib/util/number/itoa32 + i64.const 12 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17472 + i32.const 16384 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24702,20 +22233,20 @@ if i32.const 0 i32.const 96 - i32.const 591 + i32.const 631 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -268435455 - i32.const 16 - call $~lib/util/number/itoa32 + i64.const 123 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17520 + i32.const 1408 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24726,20 +22257,20 @@ if i32.const 0 i32.const 96 - i32.const 592 + i32.const 632 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 + i64.const 1234 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17568 + i32.const 12560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24750,20 +22281,20 @@ if i32.const 0 i32.const 96 - i32.const 593 + i32.const 633 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 + i64.const 12345 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17568 + i32.const 16448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24774,20 +22305,20 @@ if i32.const 0 i32.const 96 - i32.const 594 + i32.const 634 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 123456 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 16480 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24798,20 +22329,20 @@ if i32.const 0 i32.const 96 - i32.const 598 + i32.const 635 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 1234567 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 16560 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24822,20 +22353,20 @@ if i32.const 0 i32.const 96 - i32.const 599 + i32.const 636 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 99999999 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12464 + i32.const 18864 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24846,20 +22377,20 @@ if i32.const 0 i32.const 96 - i32.const 600 + i32.const 637 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 100000000 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17616 + i32.const 18912 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24870,20 +22401,20 @@ if i32.const 0 i32.const 96 - i32.const 601 + i32.const 638 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 14 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17648 + i32.const 16960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24894,20 +22425,20 @@ if i32.const 0 i32.const 96 - i32.const 602 + i32.const 639 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 29 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17680 + i32.const 18960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24918,20 +22449,20 @@ if i32.const 0 i32.const 96 - i32.const 603 + i32.const 640 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 59 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17712 + i32.const 19008 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24942,20 +22473,20 @@ if i32.const 0 i32.const 96 - i32.const 604 + i32.const 641 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4095 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17744 + i32.const 19056 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24966,20 +22497,20 @@ if i32.const 0 i32.const 96 - i32.const 605 + i32.const 642 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 33554431 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 8687194767350 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17792 + i32.const 19104 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -24990,20 +22521,20 @@ if i32.const 0 i32.const 96 - i32.const 606 + i32.const 643 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -12 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 86871947673501 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17872 + i32.const 19152 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25014,20 +22545,20 @@ if i32.const 0 i32.const 96 - i32.const 607 + i32.const 644 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -4 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17968 + i32.const 19200 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25038,20 +22569,20 @@ if i32.const 0 i32.const 96 - i32.const 608 + i32.const 645 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 9999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18064 + i32.const 19264 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25062,20 +22593,20 @@ if i32.const 0 i32.const 96 - i32.const 609 + i32.const 646 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 2 - call $~lib/util/number/utoa32 + i64.const 19999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18160 + i32.const 19328 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25086,20 +22617,20 @@ if i32.const 0 i32.const 96 - i32.const 610 + i32.const 647 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2047 - i32.const 2 - call $~lib/util/number/itoa32 + i64.const 129999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18256 + i32.const 19392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25110,20 +22641,20 @@ if i32.const 0 i32.const 96 - i32.const 612 + i32.const 648 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 3 - call $~lib/util/number/utoa32 + i64.const 1239999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18304 + i32.const 19456 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25134,20 +22665,20 @@ if i32.const 0 i32.const 96 - i32.const 616 + i32.const 649 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 4 - call $~lib/util/number/utoa32 + global.get $~lib/builtins/u64.MAX_VALUE + i32.const 10 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18368 + i32.const 19520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25158,20 +22689,20 @@ if i32.const 0 i32.const 96 - i32.const 617 + i32.const 650 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 5 - call $~lib/util/number/utoa32 + i64.const 0 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18432 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25182,20 +22713,20 @@ if i32.const 0 i32.const 96 - i32.const 618 + i32.const 652 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 8 - call $~lib/util/number/utoa32 + i64.const -1234 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18480 + i32.const 19584 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25206,20 +22737,20 @@ if i32.const 0 i32.const 96 - i32.const 619 + i32.const 653 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 11 - call $~lib/util/number/utoa32 + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18528 + i32.const 16960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25230,20 +22761,20 @@ if i32.const 0 i32.const 96 - i32.const 620 + i32.const 654 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 15 - call $~lib/util/number/utoa32 + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18576 + i32.const 18960 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25254,20 +22785,20 @@ if i32.const 0 i32.const 96 - i32.const 621 + i32.const 655 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 17 - call $~lib/util/number/utoa32 + i64.const -4294967295 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18624 + i32.const 19616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25278,20 +22809,20 @@ if i32.const 0 i32.const 96 - i32.const 622 + i32.const 656 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 21 - call $~lib/util/number/utoa32 + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18672 + i32.const 19008 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25302,20 +22833,20 @@ if i32.const 0 i32.const 96 - i32.const 623 + i32.const 657 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 27 - call $~lib/util/number/utoa32 + i64.const -68719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18720 + i32.const 19664 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25326,20 +22857,20 @@ if i32.const 0 i32.const 96 - i32.const 624 + i32.const 658 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 32 - call $~lib/util/number/utoa32 + i64.const -868719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18768 + i32.const 19712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25350,20 +22881,20 @@ if i32.const 0 i32.const 96 - i32.const 625 + i32.const 659 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 36 - call $~lib/util/number/utoa32 + i64.const -999868719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18816 + i32.const 19760 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25374,20 +22905,20 @@ if i32.const 0 i32.const 96 - i32.const 626 + i32.const 660 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 + i64.const -19999868719476735 i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 19824 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25398,20 +22929,20 @@ if i32.const 0 i32.const 96 - i32.const 630 + i32.const 661 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 + global.get $~lib/builtins/i64.MAX_VALUE i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16384 + i32.const 19888 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25422,20 +22953,20 @@ if i32.const 0 i32.const 96 - i32.const 631 + i32.const 662 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123 + global.get $~lib/builtins/i64.MIN_VALUE i32.const 10 - call $~lib/util/number/utoa64 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 1408 + i32.const 19952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25446,20 +22977,20 @@ if i32.const 0 i32.const 96 - i32.const 632 + i32.const 663 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 - i32.const 10 + i64.const 0 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 12560 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25470,20 +23001,20 @@ if i32.const 0 i32.const 96 - i32.const 633 + i32.const 667 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12345 - i32.const 10 + i64.const 1 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16448 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25494,20 +23025,20 @@ if i32.const 0 i32.const 96 - i32.const 634 + i32.const 668 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123456 - i32.const 10 + i64.const 12 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16480 + i32.const 13024 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25518,20 +23049,20 @@ if i32.const 0 i32.const 96 - i32.const 635 + i32.const 669 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234567 - i32.const 10 + i64.const 1234 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16560 + i32.const 17040 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25542,20 +23073,20 @@ if i32.const 0 i32.const 96 - i32.const 636 + i32.const 670 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 99999999 - i32.const 10 + i64.const 1111111 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18864 + i32.const 17136 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25566,20 +23097,20 @@ if i32.const 0 i32.const 96 - i32.const 637 + i32.const 671 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 100000000 - i32.const 10 + i64.const 8589934591 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18912 + i32.const 20016 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25590,20 +23121,20 @@ if i32.const 0 i32.const 96 - i32.const 638 + i32.const 672 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 10 + i64.const 5942249508321 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16960 + i32.const 20064 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25614,20 +23145,20 @@ if i32.const 0 i32.const 96 - i32.const 639 + i32.const 673 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 + i64.const 76310993685985 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18960 + i32.const 20112 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25638,20 +23169,20 @@ if i32.const 0 i32.const 96 - i32.const 640 + i32.const 674 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 + i64.const 920735923817967 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19008 + i32.const 20160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25662,20 +23193,20 @@ if i32.const 0 i32.const 96 - i32.const 641 + i32.const 675 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 868719476735 - i32.const 10 + i64.const 9927935178558959 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19056 + i32.const 20208 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25686,20 +23217,20 @@ if i32.const 0 i32.const 96 - i32.const 642 + i32.const 676 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8687194767350 - i32.const 10 + i64.const 81985529216486895 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19104 + i32.const 20256 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25710,20 +23241,20 @@ if i32.const 0 i32.const 96 - i32.const 643 + i32.const 677 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 86871947673501 - i32.const 10 + i64.const 1311768467463790320 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19152 + i32.const 20320 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25734,20 +23265,20 @@ if i32.const 0 i32.const 96 - i32.const 644 + i32.const 678 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 999868719476735 - i32.const 10 + i64.const 9223372036854775807 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19200 + i32.const 20384 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25758,20 +23289,20 @@ if i32.const 0 i32.const 96 - i32.const 645 + i32.const 679 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9999868719476735 - i32.const 10 + i64.const -1 + i32.const 16 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19264 + i32.const 20448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25782,20 +23313,20 @@ if i32.const 0 i32.const 96 - i32.const 646 + i32.const 680 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 19999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i64.const -9223372036854775807 + i32.const 16 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19328 + i32.const 20512 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25806,20 +23337,20 @@ if i32.const 0 i32.const 96 - i32.const 647 + i32.const 682 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 129999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19392 + i32.const 20576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25830,20 +23361,20 @@ if i32.const 0 i32.const 96 - i32.const 648 + i32.const 683 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1239999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19456 + i32.const 20576 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25854,20 +23385,20 @@ if i32.const 0 i32.const 96 - i32.const 649 + i32.const 684 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/u64.MAX_VALUE - i32.const 10 + i64.const 0 + i32.const 2 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19520 + i32.const 2032 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25878,20 +23409,20 @@ if i32.const 0 i32.const 96 - i32.const 650 + i32.const 688 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 1 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 2096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25902,20 +23433,20 @@ if i32.const 0 i32.const 96 - i32.const 652 + i32.const 689 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1234 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 7 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19584 + i32.const 17616 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25926,20 +23457,20 @@ if i32.const 0 i32.const 96 - i32.const 653 + i32.const 690 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 14 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 16960 + i32.const 17648 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25950,20 +23481,20 @@ if i32.const 0 i32.const 96 - i32.const 654 + i32.const 691 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 59 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18960 + i32.const 17712 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25974,20 +23505,20 @@ if i32.const 0 i32.const 96 - i32.const 655 + i32.const 692 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4294967295 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 4095 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19616 + i32.const 17744 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -25998,20 +23529,20 @@ if i32.const 0 i32.const 96 - i32.const 656 + i32.const 693 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 4294967295 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19008 + i32.const 18160 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26022,20 +23553,20 @@ if i32.const 0 i32.const 96 - i32.const 657 + i32.const 694 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -68719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const 562949953421311 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19664 + i32.const 20640 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26046,20 +23577,20 @@ if i32.const 0 i32.const 96 - i32.const 658 + i32.const 695 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 2 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19712 + i32.const 20768 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26070,20 +23601,20 @@ if i32.const 0 i32.const 96 - i32.const 659 + i32.const 696 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -999868719476735 - i32.const 10 + i64.const -8589934591 + i32.const 2 call $~lib/util/number/itoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19760 + i32.const 20928 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26094,20 +23625,20 @@ if i32.const 0 i32.const 96 - i32.const 660 + i32.const 698 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -19999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 3 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19824 + i32.const 21024 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26118,20 +23649,20 @@ if i32.const 0 i32.const 96 - i32.const 661 + i32.const 702 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MAX_VALUE - i32.const 10 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 4 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19888 + i32.const 21136 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26142,20 +23673,20 @@ if i32.const 0 i32.const 96 - i32.const 662 + i32.const 703 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MIN_VALUE - i32.const 10 - call $~lib/util/number/itoa64 + i64.const -1 + i32.const 5 + call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 19952 + i32.const 21232 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26166,20 +23697,20 @@ if i32.const 0 i32.const 96 - i32.const 663 + i32.const 704 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 16 + i64.const -1 + i32.const 8 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 21312 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26190,20 +23721,20 @@ if i32.const 0 i32.const 96 - i32.const 667 + i32.const 705 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 16 + i64.const -1 + i32.const 11 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 21376 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26214,20 +23745,20 @@ if i32.const 0 i32.const 96 - i32.const 668 + i32.const 706 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 - i32.const 16 + i64.const -1 + i32.const 15 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 13024 + i32.const 21440 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26238,20 +23769,20 @@ if i32.const 0 i32.const 96 - i32.const 669 + i32.const 707 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 - i32.const 16 + i64.const -1 + i32.const 17 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17040 + i32.const 21504 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26262,20 +23793,20 @@ if i32.const 0 i32.const 96 - i32.const 670 + i32.const 708 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1111111 - i32.const 16 + i64.const -1 + i32.const 21 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17136 + i32.const 21568 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26286,20 +23817,20 @@ if i32.const 0 i32.const 96 - i32.const 671 + i32.const 709 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8589934591 - i32.const 16 + i64.const -1 + i32.const 27 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20016 + i32.const 21632 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26310,20 +23841,20 @@ if i32.const 0 i32.const 96 - i32.const 672 + i32.const 710 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 5942249508321 - i32.const 16 + i64.const -1 + i32.const 32 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20064 + i32.const 21680 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26334,20 +23865,20 @@ if i32.const 0 i32.const 96 - i32.const 673 + i32.const 711 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 76310993685985 - i32.const 16 + i64.const -1 + i32.const 36 call $~lib/util/number/utoa64 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20112 + i32.const 21728 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26358,20 +23889,19 @@ if i32.const 0 i32.const 96 - i32.const 674 + i32.const 712 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 920735923817967 - i32.const 16 - call $~lib/util/number/utoa64 + f64.const 0 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20160 + i32.const 21776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26382,20 +23912,19 @@ if i32.const 0 i32.const 96 - i32.const 675 + i32.const 715 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9927935178558959 - i32.const 16 - call $~lib/util/number/utoa64 + f64.const -0 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20208 + i32.const 21776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26406,20 +23935,19 @@ if i32.const 0 i32.const 96 - i32.const 676 + i32.const 716 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 81985529216486895 - i32.const 16 - call $~lib/util/number/utoa64 + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20256 + i32.const 6224 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26430,20 +23958,19 @@ if i32.const 0 i32.const 96 - i32.const 677 + i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1311768467463790320 - i32.const 16 - call $~lib/util/number/utoa64 + f64.const inf + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20320 + i32.const 21808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26454,20 +23981,20 @@ if i32.const 0 i32.const 96 - i32.const 678 + i32.const 718 i32.const 1 call $~lib/builtins/abort unreachable - end - i64.const 9223372036854775807 - i32.const 16 - call $~lib/util/number/utoa64 + end + f64.const inf + f64.neg + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20384 + i32.const 7520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26478,20 +24005,19 @@ if i32.const 0 i32.const 96 - i32.const 679 + i32.const 719 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 16 - call $~lib/util/number/utoa64 + global.get $~lib/builtins/f64.EPSILON + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20448 + i32.const 6736 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26502,20 +24028,20 @@ if i32.const 0 i32.const 96 - i32.const 680 + i32.const 720 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775807 - i32.const 16 - call $~lib/util/number/itoa64 + global.get $~lib/builtins/f64.EPSILON + f64.neg + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20512 + i32.const 22832 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26526,20 +24052,19 @@ if i32.const 0 i32.const 96 - i32.const 682 + i32.const 721 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20576 + i32.const 6800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26550,20 +24075,20 @@ if i32.const 0 i32.const 96 - i32.const 683 + i32.const 722 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20576 + i32.const 22896 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26574,20 +24099,19 @@ if i32.const 0 i32.const 96 - i32.const 684 + i32.const 723 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2032 + i32.const 22976 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26598,20 +24122,19 @@ if i32.const 0 i32.const 96 - i32.const 688 + i32.const 724 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 2096 + i32.const 23040 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26622,20 +24145,19 @@ if i32.const 0 i32.const 96 - i32.const 689 + i32.const 725 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 7 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 4.940656e-318 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17616 + i32.const 23120 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26646,20 +24168,19 @@ if i32.const 0 i32.const 96 - i32.const 690 + i32.const 728 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 14 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 9060801153433600 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17648 + i32.const 23168 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26670,20 +24191,19 @@ if i32.const 0 i32.const 96 - i32.const 691 + i32.const 729 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 59 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 4708356024711512064 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17712 + i32.const 23232 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26694,20 +24214,19 @@ if i32.const 0 i32.const 96 - i32.const 692 + i32.const 730 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4095 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 9409340012568248320 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 17744 + i32.const 23296 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26718,20 +24237,19 @@ if i32.const 0 i32.const 96 - i32.const 693 + i32.const 731 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 5e-324 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 18160 + i32.const 6880 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26742,20 +24260,19 @@ if i32.const 0 i32.const 96 - i32.const 694 + i32.const 732 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 562949953421311 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 1 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20640 + i32.const 23360 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26766,20 +24283,19 @@ if i32.const 0 i32.const 96 - i32.const 695 + i32.const 738 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 2 - call $~lib/util/number/utoa64 + f64.const 0.1 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20768 + i32.const 3808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26790,20 +24306,19 @@ if i32.const 0 i32.const 96 - i32.const 696 + i32.const 739 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -8589934591 - i32.const 2 - call $~lib/util/number/itoa64 + f64.const -1 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 20928 + i32.const 23392 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26814,20 +24329,19 @@ if i32.const 0 i32.const 96 - i32.const 698 + i32.const 740 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 3 - call $~lib/util/number/utoa64 + f64.const -0.1 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21024 + i32.const 23424 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26838,20 +24352,19 @@ if i32.const 0 i32.const 96 - i32.const 702 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 4 - call $~lib/util/number/utoa64 + f64.const 1e6 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21136 + i32.const 23456 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26862,20 +24375,19 @@ if i32.const 0 i32.const 96 - i32.const 703 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 5 - call $~lib/util/number/utoa64 + f64.const 1e-06 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21232 + i32.const 23504 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26886,20 +24398,19 @@ if i32.const 0 i32.const 96 - i32.const 704 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 8 - call $~lib/util/number/utoa64 + f64.const -1e6 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21312 + i32.const 23552 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26910,20 +24421,19 @@ if i32.const 0 i32.const 96 - i32.const 705 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 11 - call $~lib/util/number/utoa64 + f64.const -1e-06 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21376 + i32.const 23600 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26934,20 +24444,19 @@ if i32.const 0 i32.const 96 - i32.const 706 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 15 - call $~lib/util/number/utoa64 + f64.const 1e7 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21440 + i32.const 23648 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26958,20 +24467,19 @@ if i32.const 0 i32.const 96 - i32.const 707 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 17 - call $~lib/util/number/utoa64 + f64.const 1e-07 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21504 + i32.const 23696 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -26982,20 +24490,19 @@ if i32.const 0 i32.const 96 - i32.const 708 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 21 - call $~lib/util/number/utoa64 + f64.const 1.e+308 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21568 + i32.const 4096 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27006,20 +24513,19 @@ if i32.const 0 i32.const 96 - i32.const 709 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 27 - call $~lib/util/number/utoa64 + f64.const -1.e+308 + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21632 + i32.const 23728 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27030,20 +24536,19 @@ if i32.const 0 i32.const 96 - i32.const 710 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 32 - call $~lib/util/number/utoa64 + f64.const inf + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21680 + i32.const 21808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27054,20 +24559,19 @@ if i32.const 0 i32.const 96 - i32.const 711 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 36 - call $~lib/util/number/utoa64 + f64.const -inf + call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21728 + i32.const 7520 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27078,19 +24582,19 @@ if i32.const 0 i32.const 96 - i32.const 712 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 + f64.const 1e-308 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21776 + i32.const 23776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27101,19 +24605,19 @@ if i32.const 0 i32.const 96 - i32.const 715 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 + f64.const -1e-308 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21776 + i32.const 23808 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27124,19 +24628,19 @@ if i32.const 0 i32.const 96 - i32.const 716 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 + f64.const 1e-323 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 6224 + i32.const 23856 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27147,19 +24651,19 @@ if i32.const 0 i32.const 96 - i32.const 717 + i32.const 756 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf + f64.const -1e-323 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 21808 + i32.const 23888 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27170,20 +24674,19 @@ if i32.const 0 i32.const 96 - i32.const 718 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg + f64.const 0 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 7520 + i32.const 21776 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27194,19 +24697,19 @@ if i32.const 0 i32.const 96 - i32.const 719 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON + f64.const 4294967272 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 6736 + i32.const 23936 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27217,20 +24720,19 @@ if i32.const 0 i32.const 96 - i32.const 720 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON - f64.neg + f64.const 1.2312145673456234e-08 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 22832 + i32.const 23984 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27241,19 +24743,19 @@ if i32.const 0 i32.const 96 - i32.const 721 + i32.const 761 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE + f64.const 555555555.5555556 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 6800 + i32.const 24048 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27264,20 +24766,19 @@ if i32.const 0 i32.const 96 - i32.const 722 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg + f64.const 0.9999999999999999 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 22896 + i32.const 24112 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27288,19 +24789,19 @@ if i32.const 0 i32.const 96 - i32.const 723 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4185580496821356722454785e274 + f64.const 1 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 22976 + i32.const 23360 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27311,19 +24812,19 @@ if i32.const 0 i32.const 96 - i32.const 724 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 + f64.const 12.34 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23040 + i32.const 24176 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27334,19 +24835,21 @@ if i32.const 0 i32.const 96 - i32.const 725 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 + f64.const 1 + f64.const 3 + f64.div call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23120 + i32.const 24208 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27357,19 +24860,19 @@ if i32.const 0 i32.const 96 - i32.const 728 + i32.const 768 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9060801153433600 + f64.const 1234e17 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23168 + i32.const 24272 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27380,19 +24883,19 @@ if i32.const 0 i32.const 96 - i32.const 729 + i32.const 769 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 + f64.const 1234e18 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23232 + i32.const 24352 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27403,19 +24906,19 @@ if i32.const 0 i32.const 96 - i32.const 730 + i32.const 770 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9409340012568248320 + f64.const 2.71828 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23296 + i32.const 24400 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27426,19 +24929,19 @@ if i32.const 0 i32.const 96 - i32.const 731 + i32.const 771 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 + f64.const 0.0271828 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 6880 + i32.const 24448 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27449,19 +24952,19 @@ if i32.const 0 i32.const 96 - i32.const 732 + i32.const 772 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 + f64.const 271.828 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23360 + i32.const 24496 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27472,19 +24975,19 @@ if i32.const 0 i32.const 96 - i32.const 738 + i32.const 773 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.1 + f64.const 1.1e+128 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 3808 + i32.const 24544 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27495,19 +24998,19 @@ if i32.const 0 i32.const 96 - i32.const 739 + i32.const 774 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 + f64.const 1.1e-64 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23392 + i32.const 24592 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27518,19 +25021,19 @@ if i32.const 0 i32.const 96 - i32.const 740 + i32.const 775 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.1 + f64.const 0.000035689 call $~lib/util/number/dtoa local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23424 + i32.const 24640 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27541,19 +25044,30 @@ if i32.const 0 i32.const 96 - i32.const 741 + i32.const 776 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e6 - call $~lib/util/number/dtoa + i32.const 24688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 24720 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23456 + i32.const 24752 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27564,19 +25078,30 @@ if i32.const 0 i32.const 96 - i32.const 743 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-06 - call $~lib/util/number/dtoa + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 24800 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23504 + i32.const 24800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27587,19 +25112,30 @@ if i32.const 0 i32.const 96 - i32.const 744 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e6 - call $~lib/util/number/dtoa + i32.const 24800 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23552 + i32.const 24800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27610,19 +25146,30 @@ if i32.const 0 i32.const 96 - i32.const 745 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-06 - call $~lib/util/number/dtoa + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $4 + call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store local.get $4 - i32.const 23600 + i32.const 688 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 @@ -27633,761 +25180,1593 @@ if i32.const 0 i32.const 96 - i32.const 746 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e7 - call $~lib/util/number/dtoa - local.set $4 + i32.const 0 + global.set $std/string/str + global.get $~lib/memory/__heap_base + global.set $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__collect + global.get $~lib/memory/__stack_pointer + i32.const 44 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#charAt (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + local.get $0 + call $~lib/string/String#get:length + i32.ge_u + if + i32.const 688 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String.fromCharCode (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.gt_s + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 2 + local.get $2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 i32.store - local.get $4 - i32.const 23648 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + local.get $0 + i32.store16 + local.get $2 if - i32.const 0 - i32.const 96 - i32.const 747 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $1 + i32.store16 offset=2 end - f64.const 1e-07 - call $~lib/util/number/dtoa + local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $4 + ) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $4 - i32.const 23696 + local.get $0 + local.get $1 + i32.shl local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.const 0 + local.get $3 + call $~lib/rt/__newBuffer + local.tee $5 + i32.store + i32.const 16 + local.get $2 + call $~lib/rt/itcms/__new + local.set $6 + local.get $6 + local.get $5 + i32.store + local.get $6 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $6 + local.get $5 i32.store offset=4 + local.get $6 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 748 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.e+308 - call $~lib/util/number/dtoa - local.set $4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=12 + local.get $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/string/String.fromCharCodes (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $4 - i32.const 4096 + local.get $0 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $0 + i32.load offset=4 + local.set $3 + i32.const 0 local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store16 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 1114111 + i32.le_u i32.eqz if i32.const 0 - i32.const 96 - i32.const 750 - i32.const 1 + i32.const 304 + i32.const 33 + i32.const 5 call $~lib/builtins/abort unreachable end - f64.const -1.e+308 - call $~lib/util/number/dtoa - local.set $4 + local.get $0 + i32.const 65535 + i32.gt_s + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 2 + local.get $1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 i32.store - local.get $4 - i32.const 23728 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + local.get $1 i32.eqz if - i32.const 0 - i32.const 96 - i32.const 751 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $0 + i32.store16 + else + local.get $0 + i32.const 65536 + i32.sub + local.set $0 + local.get $0 + i32.const 1023 + i32.and + i32.const 56320 + i32.or + local.set $3 + local.get $0 + i32.const 10 + i32.shr_u + i32.const 55296 + i32.or + local.set $4 + local.get $2 + local.get $4 + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store end - f64.const inf - call $~lib/util/number/dtoa - local.set $4 + local.get $2 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/string/String#startsWith (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 21808 - local.set $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.const 0 + i32.store + local.get $1 + i32.const 0 + i32.eq if - i32.const 0 - i32.const 96 - i32.const 752 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 1184 + local.tee $1 + i32.store end - f64.const -inf - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 7520 - local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 local.get $4 - i32.store offset=4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.lt_s + select + local.set $6 + local.get $1 + call $~lib/string/String#get:length + local.set $7 + local.get $7 + local.get $6 + i32.add + local.get $3 + i32.gt_s if i32.const 0 - i32.const 96 - i32.const 753 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return end - f64.const 1e-308 - call $~lib/util/number/dtoa - local.set $4 + local.get $0 + local.get $6 + local.get $1 + i32.const 0 + local.get $7 + call $~lib/util/string/compareImpl + i32.eqz + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 23776 - local.set $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + ) + (func $~lib/string/String#padStart (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 754 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1e-308 - call $~lib/util/number/dtoa - local.set $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 0 i32.store - local.get $4 - i32.const 23808 + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $1 + i32.const 1 + i32.shl local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + local.get $2 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $5 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 755 + local.get $3 + i32.lt_u + if (result i32) i32.const 1 - call $~lib/builtins/abort - unreachable + else + local.get $5 + i32.eqz + end + if + local.get $0 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - f64.const 1e-323 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - i32.const 23856 - local.set $4 + local.get $3 + i32.sub + local.set $6 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $6 + local.get $5 + i32.gt_u if - i32.const 0 - i32.const 96 - i32.const 756 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $6 + i32.const 2 + i32.sub + local.get $5 + i32.div_u + local.set $8 + local.get $8 + local.get $5 + i32.mul + local.set $9 + local.get $6 + local.get $9 + i32.sub + local.set $10 + local.get $7 + local.get $2 + local.get $5 + local.get $8 + call $~lib/memory/memory.repeat + local.get $7 + local.get $9 + i32.add + local.get $2 + local.get $10 + call $~lib/memory/memory.copy + else + local.get $7 + local.get $2 + local.get $6 + call $~lib/memory/memory.copy end - f64.const -1e-323 - call $~lib/util/number/dtoa - local.set $4 + local.get $7 + local.get $6 + i32.add + local.get $0 + local.get $3 + call $~lib/memory/memory.copy + local.get $7 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/string/String#padEnd (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $4 - i32.const 23888 + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $1 + i32.const 1 + i32.shl local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + local.get $2 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $5 local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 757 + local.get $3 + i32.lt_u + if (result i32) i32.const 1 - call $~lib/builtins/abort - unreachable + else + local.get $5 + i32.eqz end - f64.const 0 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 21776 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz if - i32.const 0 - i32.const 96 - i32.const 758 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $0 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - i32.const 23936 - local.set $4 + local.get $3 + i32.sub + local.set $6 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $7 + local.get $0 + local.get $3 + call $~lib/memory/memory.copy + local.get $6 + local.get $5 + i32.gt_u if - i32.const 0 - i32.const 96 - i32.const 760 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $6 + i32.const 2 + i32.sub + local.get $5 + i32.div_u + local.set $8 + local.get $8 + local.get $5 + i32.mul + local.set $9 + local.get $6 + local.get $9 + i32.sub + local.set $10 + local.get $7 + local.get $3 + i32.add + local.get $2 + local.get $5 + local.get $8 + call $~lib/memory/memory.repeat + local.get $7 + local.get $3 + i32.add + local.get $9 + i32.add + local.get $2 + local.get $10 + call $~lib/memory/memory.copy + else + local.get $7 + local.get $3 + i32.add + local.get $2 + local.get $6 + call $~lib/memory/memory.copy end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.set $4 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 23984 - local.set $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/string/String#trimStart (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 761 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.set $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 0 i32.store - local.get $4 - i32.const 24048 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $1 + i32.const 0 + local.set $2 + loop $while-continue|0 + local.get $2 + local.get $1 + i32.lt_u + if (result i32) + local.get $0 + local.get $2 + i32.add + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|0 + end + end + local.get $2 i32.eqz if - i32.const 0 - i32.const 96 - i32.const 763 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24112 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + local.get $1 + local.get $2 + i32.sub + local.set $1 + local.get $1 i32.eqz if - i32.const 0 - i32.const 96 - i32.const 764 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 688 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - f64.const 1 - call $~lib/util/number/dtoa - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 i32.store local.get $4 - i32.const 23360 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + local.get $0 + local.get $2 + i32.add + local.get $1 + call $~lib/memory/memory.copy local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 765 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 12.34 - call $~lib/util/number/dtoa - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24176 - local.set $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/string/String#trimEnd (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $1 + local.get $1 + local.set $2 + loop $while-continue|0 + local.get $2 + if (result i32) + local.get $0 + local.get $2 + i32.add + i32.const 2 + i32.sub + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + br $while-continue|0 + end + end + local.get $2 i32.eqz if - i32.const 0 - i32.const 96 - i32.const 766 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 688 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + local.get $2 + local.get $1 + i32.eq + if + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - f64.const 1 - f64.const 3 - f64.div - call $~lib/util/number/dtoa - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 i32.store local.get $4 - i32.const 24208 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + local.get $0 + local.get $2 + call $~lib/memory/memory.copy local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 768 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e17 - call $~lib/util/number/dtoa - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/string/String#trim (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $4 - i32.const 24272 + local.get $0 + call $~lib/string/String#get:length + local.set $1 + local.get $1 + i32.const 1 + i32.shl + local.set $2 + loop $while-continue|0 + local.get $2 + if (result i32) + local.get $0 + local.get $2 + i32.add + i32.const 2 + i32.sub + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const 0 local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 769 - i32.const 1 - call $~lib/builtins/abort - unreachable + loop $while-continue|1 + local.get $4 + local.get $2 + i32.lt_u + if (result i32) + local.get $0 + local.get $4 + i32.add + i32.load16_u + call $~lib/util/string/isSpace + else + i32.const 0 + end + local.set $3 + local.get $3 + if + local.get $4 + i32.const 2 + i32.add + local.set $4 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + br $while-continue|1 + end end - f64.const 1234e18 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24352 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq + local.get $2 i32.eqz if - i32.const 0 - i32.const 96 - i32.const 770 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 688 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - f64.const 2.71828 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24400 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 local.get $4 - call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 771 + if (result i32) + local.get $2 + local.get $1 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + i32.eq + else + i32.const 0 end - f64.const 0.0271828 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24448 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz if - i32.const 0 - i32.const 96 - i32.const 772 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - f64.const 271.828 - call $~lib/util/number/dtoa - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 i32.store + local.get $5 + local.get $0 local.get $4 - i32.const 24496 - local.set $4 + i32.add + local.get $2 + call $~lib/memory/memory.copy + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 773 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.set $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24544 - local.set $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + i64.const 0 + i64.store + local.get $1 + i32.const 0 + i32.eq if - i32.const 0 - i32.const 96 - i32.const 774 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 1184 + local.tee $1 + i32.store end - f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24592 + local.get $0 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $2 + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $2 + local.get $3 + i32.add local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.const 0 + i32.eq if - i32.const 0 - i32.const 96 - i32.const 775 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 688 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - f64.const 0.000035689 - call $~lib/util/number/dtoa - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24640 - local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 776 + local.get $5 + local.get $0 + local.get $2 + call $~lib/memory/memory.copy + local.get $5 + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/memory/memory.copy + local.get $5 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/string/String#repeat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) i32.const 1 + else + local.get $2 + i64.extend_i32_s + local.get $1 + i64.extend_i32_s + i64.mul + i64.const 1 + i64.const 28 + i64.shl + i64.gt_u + end + if + i32.const 12624 + i32.const 304 + i32.const 333 + i32.const 7 call $~lib/builtins/abort unreachable end - i32.const 24688 - local.set $4 + local.get $1 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $2 + i32.eqz + end + if + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $1 + i32.const 1 + i32.eq + if + local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 24720 + local.get $2 + local.get $1 + i32.mul + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + local.get $1 + call $~lib/memory/memory.repeat + local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $4 - i32.store offset=12 - local.get $4 - call $~lib/string/String#concat - local.set $4 + ) + (func $~lib/string/String#replace (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store - local.get $4 - i32.const 24752 + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + call $~lib/string/String#get:length local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + local.get $3 local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.le_u if - i32.const 0 - i32.const 96 - i32.const 781 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + i32.lt_u + if (result i32) + local.get $0 + else + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return end - i32.const 688 - local.set $4 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/string/String#indexOf + local.set $5 + local.get $5 + i32.const -1 + i32.xor + if + local.get $2 + call $~lib/string/String#get:length + local.set $6 + local.get $3 + local.get $4 + i32.sub + local.set $3 + local.get $3 + local.get $6 + i32.add + local.set $7 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $0 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + local.get $4 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $5 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + end + end + local.get $0 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 24800 - local.set $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/string/String#replaceAll (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - call $~lib/string/String#concat - local.set $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24800 + i64.const 0 + i64.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 + local.get $1 + call $~lib/string/String#get:length local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $3 local.get $4 - i32.store offset=4 + i32.le_u + if + local.get $3 + local.get $4 + i32.lt_u + if (result i32) + local.get $0 + else + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + end + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return + end + local.get $2 + call $~lib/string/String#get:length + local.set $5 local.get $4 - call $~lib/string/String.__eq i32.eqz if - i32.const 0 - i32.const 96 - i32.const 782 + local.get $5 + i32.eqz + if + local.get $0 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return + end + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $3 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + local.get $6 + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $5 + local.set $7 + i32.const 0 + local.set $8 + loop $for-loop|0 + local.get $8 + local.get $3 + i32.lt_u + local.set $9 + local.get $9 + if + local.get $6 + local.get $7 + local.tee $10 + i32.const 1 + i32.add + local.set $7 + local.get $10 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $8 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.get $5 + i32.add + local.set $7 + local.get $8 + i32.const 1 + i32.add + local.set $8 + br $for-loop|0 + end + end + local.get $6 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return end - i32.const 24800 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - call $~lib/string/String#concat - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 24800 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 + i32.const 0 + local.set $11 + i32.const 0 + local.set $12 local.get $4 - call $~lib/string/String.__eq - i32.eqz + local.get $5 + i32.eq if - i32.const 0 - i32.const 96 - i32.const 783 + local.get $3 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + local.get $6 + local.get $0 + local.get $7 + call $~lib/memory/memory.copy + loop $while-continue|1 + local.get $0 + local.get $1 + local.get $11 + call $~lib/string/String#indexOf + local.tee $12 + i32.const -1 + i32.xor + local.set $8 + local.get $8 + if + local.get $6 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $12 + local.get $4 + i32.add + local.set $11 + br $while-continue|1 + end + end + local.get $6 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return + end + i32.const 0 + local.set $13 + i32.const 0 + local.set $14 + local.get $3 + local.set $15 + loop $while-continue|2 + local.get $0 + local.get $1 + local.get $11 + call $~lib/string/String#indexOf + local.tee $12 + i32.const -1 + i32.xor + local.set $6 + local.get $6 + if + local.get $13 + call $~lib/string/String.__not + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $13 + i32.store offset=4 + end + local.get $12 + local.get $11 + i32.sub + local.set $7 + local.get $14 + local.get $7 + i32.add + local.get $5 + i32.add + local.get $15 + i32.gt_u + if + local.get $15 + i32.const 1 + i32.shl + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $13 + local.get $15 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $13 + i32.store offset=4 + end + local.get $13 + local.get $14 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $7 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $14 + local.get $7 + i32.add + local.set $14 + local.get $13 + local.get $14 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $14 + local.get $5 + i32.add + local.set $14 + local.get $12 + local.get $4 + i32.add + local.set $11 + br $while-continue|2 + end end - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=8 - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=12 - local.get $4 - call $~lib/string/String#concat - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - i32.const 688 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + local.get $13 if - i32.const 0 - i32.const 96 - i32.const 784 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $11 + i32.sub + local.set $6 + local.get $14 + local.get $6 + i32.add + local.get $15 + i32.gt_u + if + local.get $15 + i32.const 1 + i32.shl + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $13 + local.get $15 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $13 + i32.store offset=4 + end + local.get $6 + if + local.get $13 + local.get $14 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + end + local.get $6 + local.get $14 + i32.add + local.set $6 + local.get $15 + local.get $6 + i32.gt_u + if + global.get $~lib/memory/__stack_pointer + local.get $13 + local.get $6 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $13 + i32.store offset=4 + end + local.get $13 + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return end - i32.const 0 - global.set $std/string/str - global.get $~lib/memory/__heap_base - global.set $~lib/memory/__stack_pointer - call $~lib/rt/itcms/__collect + local.get $0 + local.set $16 global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $16 ) - (func $~lib/string/String.fromCharCode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/string/String#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28396,40 +26775,111 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 local.get $1 i32.const 0 - i32.gt_s + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $1 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $2 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 2 local.get $2 + local.get $1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.le_s + if + i32.const 688 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $6 i32.store - local.get $3 + local.get $6 local.get $0 - i32.store16 - local.get $2 - if - local.get $3 - local.get $1 - i32.store16 offset=2 - end + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $3 - local.set $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $7 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/string/String#substr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28438,51 +26888,95 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 local.get $1 - i32.shl + local.set $3 + local.get $2 local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/string/String#get:length + local.set $5 + local.get $3 + i32.const 0 + i32.lt_s + if + local.get $5 + local.get $3 + i32.add + local.tee $6 + i32.const 0 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + local.set $3 + end local.get $4 + local.tee $7 i32.const 0 - local.get $3 - call $~lib/rt/__newBuffer - local.tee $5 - i32.store - i32.const 16 - local.get $2 - call $~lib/rt/itcms/__new - local.set $6 + local.tee $6 + local.get $7 local.get $6 + i32.gt_s + select + local.tee $6 local.get $5 - i32.store + local.get $3 + i32.sub + local.tee $7 local.get $6 - local.get $5 + local.get $7 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $8 + local.get $8 i32.const 0 - call $~lib/rt/itcms/__link - local.get $6 - local.get $5 - i32.store offset=4 - local.get $6 - local.get $4 - i32.store offset=8 - local.get $6 + i32.le_s + if + i32.const 688 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + local.get $9 local.get $0 - i32.store offset=12 - local.get $6 - local.set $7 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $8 + call $~lib/memory/memory.copy + local.get $9 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $10 ) - (func $~lib/string/String.fromCodePoint (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28492,67 +26986,118 @@ i32.const 0 i32.store local.get $0 - i32.const 1114111 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 304 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 65535 - i32.gt_s - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 2 + call $~lib/string/String#get:length + local.set $3 local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 i32.shl + local.set $8 + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $1 + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 i32.eqz if - local.get $2 - local.get $0 - i32.store16 - else - local.get $0 - i32.const 65536 - i32.sub - local.set $0 - local.get $0 - i32.const 1023 - i32.and - i32.const 56320 - i32.or - local.set $3 - local.get $0 - i32.const 10 - i32.shr_u - i32.const 55296 - i32.or - local.set $4 - local.get $2 - local.get $4 + i32.const 688 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $8 + i32.eqz + if (result i32) + local.get $9 local.get $3 - i32.const 16 + i32.const 1 i32.shl - i32.or - i32.store + i32.eq + else + i32.const 0 + end + if + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $2 - local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store + local.get $11 + local.get $0 + local.get $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $12 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/symbol.optimized.wat b/tests/compiler/std/symbol.optimized.wat index e315c860f9..cb1e968a71 100644 --- a/tests/compiler/std/symbol.optimized.wat +++ b/tests/compiler/std/symbol.optimized.wat @@ -1924,497 +1924,6 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/util/hash/HASH (param $0 i32) (result i32) - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load - local.set $0 - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i32.load - i32.eq - end - if - local.get $0 - return - end - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $6 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.tee $8 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i32.load - local.tee $7 - i32.store - local.get $2 - local.get $8 - i32.load offset=4 - i32.store offset=4 - local.get $2 - local.get $6 - local.get $7 - call $~lib/util/hash/HASH - local.get $1 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load - i32.store offset=8 - local.get $7 - local.get $2 - i32.store - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $8 - i32.const 12 - i32.add - local.set $8 - br $while-continue|0 - end - end - local.get $0 - local.get $6 - call $~lib/map/Map<~lib/string/String,usize>#set:buckets - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#set:entries - local.get $0 - local.get $5 - i32.store offset=12 - local.get $0 - local.get $0 - i32.load offset=20 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $4 - local.get $0 - local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $4 - i32.const 8 - i32.sub - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $4 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $while-continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $0 - local.get $4 - i32.add - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $4 - i32.const 8 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $4 - if - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) - block $invalid - block $~lib/map/Map - block $~lib/map/Map<~lib/string/String,usize> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid - end - return - end - return - end - local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $0 - loop $while-continue|0 - local.get $0 - local.get $1 - i32.gt_u - if - local.get $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $1 - i32.load - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 12 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $2 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - local.get $0 - i32.load offset=8 - local.tee $2 - local.tee $1 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $0 - loop $while-continue|00 - local.get $0 - local.get $1 - i32.gt_u - if - local.get $1 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $1 - i32.load offset=4 - call $~lib/rt/itcms/__visit - end - local.get $1 - i32.const 12 - i32.add - local.set $1 - br $while-continue|00 - end - end - local.get $2 - call $~lib/rt/itcms/__visit - return - end - unreachable - ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std/symbol - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 2732 - i32.lt_s - if - i32.const 19136 - i32.const 19184 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -2423,26 +1932,8 @@ (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - i32.const 0 - local.get $0 - i32.eqz - br_if $~lib/util/hash/hashStr|inlined.0 - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.get $0 + if (result i32) local.get $0 local.tee $1 i32.const 20 @@ -2597,196 +2088,308 @@ i32.mul local.set $2 local.get $1 - i32.const 1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|2 + end + end + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + else + i32.const 0 + end + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 i32.add local.set $1 - br $while-continue|2 + br $while-continue|1 end end - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor + i32.const 0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.eqz ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.tee $8 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 + if + local.get $8 + i32.load offset=8 + i32.const 1 i32.and - i32.or i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.load + local.tee $7 + i32.store offset=8 local.get $2 - local.tee $0 - i32.const 1 - i32.sub + local.get $7 + i32.store + local.get $2 + local.get $8 + i32.load offset=4 + i32.store offset=4 + local.get $2 + local.get $6 + local.get $7 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $1 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load + i32.store offset=8 + local.get $7 + local.get $2 + i32.store + local.get $2 + i32.const 12 + i32.add local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end end - i32.const 0 + local.get $8 + i32.const 12 + i32.add + local.set $8 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return end + local.get $0 + local.get $6 + call $~lib/map/Map<~lib/string/String,usize>#set:buckets + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,usize>#set:entries + local.get $0 + local.get $5 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#find (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + (func $~lib/util/hash/HASH (param $0 i32) (result i32) + local.get $0 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $0 + local.get $0 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + local.get $0 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + ) + (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load - local.get $1 + local.get $2 local.get $0 i32.load offset=4 i32.and @@ -2806,23 +2409,12 @@ if (result i32) i32.const 0 else - global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 i32.load - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - local.get $1 - i32.const 1056 - call $~lib/string/String.__eq + i32.eq end if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 return end @@ -2833,13 +2425,9 @@ br $while-continue|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2848,7 +2436,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2856,9 +2444,6 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -2902,25 +2487,19 @@ i32.and i32.eqz if - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $8 i32.load local.tee $7 - i32.store offset=8 - local.get $2 - local.get $7 i32.store local.get $2 local.get $8 i32.load offset=4 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 local.get $2 local.get $6 local.get $7 - call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/util/hash/HASH local.get $1 i32.and i32.const 2 @@ -2961,333 +2540,429 @@ i32.load offset=20 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,usize>#set (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1056 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $3 - global.get $~lib/memory/__stack_pointer + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#find - local.tee $2 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.tee $0 + i32.eqz if + i32.const 1648 + i32.const 1712 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + ) + (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 local.get $2 - local.get $1 - i32.store offset=4 - else - local.get $0 - i32.load offset=16 + local.set $4 local.get $0 - i32.load offset=12 + local.get $1 i32.eq + br_if $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.get $1 + i32.lt_u if - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 7 + i32.and local.get $0 - i32.store + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $4 + i32.const 8 + i32.sub + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $4 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $while-continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $0 + local.get $4 + i32.add + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $4 + i32.const 8 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $4 + if + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end + end + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + block $invalid + block $~lib/map/Map + block $~lib/map/Map<~lib/string/String,usize> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + end + return + end + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + return + end local.get $0 + i32.load + call $~lib/rt/itcms/__visit local.get $0 - i32.load offset=20 + i32.load offset=8 + local.tee $2 + local.tee $1 local.get $0 - i32.load offset=12 - i32.const 3 + i32.load offset=16 + i32.const 12 i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else + i32.add + local.set $0 + loop $while-continue|0 local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $1 + i32.gt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $while-continue|0 + end end - call $~lib/map/Map<~lib/string/String,usize>#rehash + local.get $2 + call $~lib/rt/itcms/__visit + return end - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.load offset=8 local.tee $2 - i32.store offset=8 - local.get $0 + local.tee $1 local.get $0 i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $2 - local.get $4 i32.const 12 i32.mul i32.add - local.tee $2 - i32.const 1056 - i32.store - local.get $0 - i32.const 1056 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $2 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $2 - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 + local.set $0 + loop $while-continue|00 + local.get $0 + local.get $1 + i32.gt_u + if + local.get $1 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load offset=4 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $while-continue|00 + end + end local.get $2 - i32.store + call $~lib/rt/itcms/__visit + return end + unreachable + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std/symbol + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 2732 + i32.lt_s + if + i32.const 19136 + i32.const 19184 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) + (func $~lib/map/Map<~lib/string/String,usize>#find (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store local.get $0 + i32.load local.get $1 - local.get $3 - call $~lib/map/Map#find - local.tee $2 - if - local.get $2 - i32.const 1056 - i32.store offset=4 - local.get $0 - i32.const 1056 - i32.const 1 - call $~lib/rt/itcms/__link - else - local.get $0 - i32.load offset=16 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + local.set $0 + loop $while-continue|0 local.get $0 - i32.load offset=12 - i32.eq if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.load offset=8 + local.tee $2 + i32.const 1 + i32.and if (result i32) - local.get $0 - i32.load offset=4 + i32.const 0 else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.load + local.tee $1 + i32.store + local.get $1 + i32.const 1056 + call $~lib/string/String.__eq end - call $~lib/map/Map#rehash + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $2 - i32.store offset=4 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store offset=16 - local.get $2 - local.get $4 - i32.const 12 - i32.mul - i32.add - local.tee $2 - local.get $1 - i32.store - local.get $2 - i32.const 1056 - i32.store offset=4 - local.get $0 - i32.const 1056 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - i32.store offset=20 - local.get $2 - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load - i32.store offset=8 - local.get $0 - local.get $2 - i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) (func $~lib/symbol/_Symbol.for (result i32) (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store global.get $~lib/symbol/stringToId if global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/stringToId local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 local.get $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> call $~lib/map/Map<~lib/string/String,usize>#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer if global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/stringToId local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 local.get $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> @@ -3305,11 +2980,7 @@ local.get $0 i32.load offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -3410,9 +3081,6 @@ global.get $~lib/symbol/stringToId local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=4 local.get $1 local.get $0 call $~lib/map/Map<~lib/string/String,usize>#set @@ -3420,75 +3088,14 @@ global.get $~lib/symbol/idToString local.tee $1 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store offset=8 local.get $1 local.get $0 call $~lib/map/Map#set global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.tee $0 - i32.eqz - if - i32.const 1648 - i32.const 1712 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/symbol/_Symbol.keyFor (param $0 i32) (result i32) (local $1 i32) @@ -3533,62 +3140,48 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2400 local.get $0 select - local.tee $0 + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 2400 - i32.store - i32.const 2400 - local.set $1 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 block $__inlined_func$~lib/string/String#concat - local.get $2 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 2400 + i32.store + i32.const 2400 + local.set $1 + end + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u i32.const 1 i32.shl - local.tee $3 - local.get $1 + local.tee $4 + local.get $2 i32.const 20 i32.sub i32.load offset=16 @@ -3596,51 +3189,51 @@ i32.shr_u i32.const 1 i32.shl - local.tee $4 + local.tee $3 i32.add - local.tee $2 + local.tee $0 i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 1824 - local.set $2 + local.set $0 br $__inlined_func$~lib/string/String#concat end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 + local.tee $0 + i32.store offset=4 local.get $0 + local.get $2 local.get $3 call $~lib/memory/memory.copy - local.get $2 + local.get $0 local.get $3 i32.add local.get $1 local.get $4 call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/symbol/_Symbol#toString (param $0 i32) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3650,9 +3243,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 i32.const 1824 local.set $1 global.get $~lib/memory/__stack_pointer @@ -3781,9 +3371,6 @@ global.get $~lib/memory/__stack_pointer i32.const 2352 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 i32.const 2352 local.get $1 call $~lib/string/String.__concat @@ -3798,7 +3385,7 @@ i32.const 2432 call $~lib/string/String.__concat global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4099,4 +3686,223 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/map/Map<~lib/string/String,usize>#set (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 1056 + call $~lib/util/hash/HASH<~lib/string/String> + local.tee $3 + call $~lib/map/Map<~lib/string/String,usize>#find + local.tee $2 + if + local.get $2 + local.get $1 + i32.store offset=4 + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,usize>#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $2 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $2 + local.get $4 + i32.const 12 + i32.mul + i32.add + local.tee $2 + i32.const 1056 + i32.store + local.get $0 + i32.const 1056 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $2 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $2 + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + local.tee $3 + call $~lib/map/Map#find + local.tee $2 + if + local.get $2 + i32.const 1056 + i32.store offset=4 + local.get $0 + i32.const 1056 + i32.const 1 + call $~lib/rt/itcms/__link + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $2 + i32.store + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.add + i32.store offset=16 + local.get $2 + local.get $4 + i32.const 12 + i32.mul + i32.add + local.tee $2 + local.get $1 + i32.store + local.get $2 + i32.const 1056 + i32.store offset=4 + local.get $0 + i32.const 1056 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + i32.store offset=20 + local.get $2 + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load + i32.store offset=8 + local.get $0 + local.get $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) ) diff --git a/tests/compiler/std/symbol.untouched.wat b/tests/compiler/std/symbol.untouched.wat index c5defd3c60..13771b2789 100644 --- a/tests/compiler/std/symbol.untouched.wat +++ b/tests/compiler/std/symbol.untouched.wat @@ -2563,6 +2563,260 @@ i32.const 1 i32.shr_u ) + (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + i32.const 1 + drop + block $~lib/util/hash/hashStr|inlined.0 (result i32) + local.get $0 + local.set $1 + local.get $1 + i32.const 0 + i32.eq + if + i32.const 0 + br $~lib/util/hash/hashStr|inlined.0 + end + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $2 + local.get $2 + local.set $3 + local.get $1 + local.set $4 + local.get $3 + i32.const 16 + i32.ge_u + if + i32.const 0 + i32.const -1640531535 + i32.add + i32.const -2048144777 + i32.add + local.set $5 + i32.const 0 + i32.const -2048144777 + i32.add + local.set $6 + i32.const 0 + local.set $7 + i32.const 0 + i32.const -1640531535 + i32.sub + local.set $8 + local.get $3 + local.get $4 + i32.add + i32.const 16 + i32.sub + local.set $9 + loop $while-continue|0 + local.get $4 + local.get $9 + i32.le_u + local.set $10 + local.get $10 + if + local.get $5 + local.set $12 + local.get $4 + i32.load + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $5 + local.get $6 + local.set $12 + local.get $4 + i32.load offset=4 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $6 + local.get $7 + local.set $12 + local.get $4 + i32.load offset=8 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $7 + local.get $8 + local.set $12 + local.get $4 + i32.load offset=12 + local.set $11 + local.get $12 + local.get $11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $8 + local.get $4 + i32.const 16 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $2 + local.get $5 + i32.const 1 + i32.rotl + local.get $6 + i32.const 7 + i32.rotl + i32.add + local.get $7 + i32.const 12 + i32.rotl + i32.add + local.get $8 + i32.const 18 + i32.rotl + i32.add + i32.add + local.set $2 + else + local.get $2 + i32.const 0 + i32.const 374761393 + i32.add + i32.add + local.set $2 + end + local.get $1 + local.get $3 + i32.add + i32.const 4 + i32.sub + local.set $9 + loop $while-continue|1 + local.get $4 + local.get $9 + i32.le_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load + i32.const -1028477379 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $2 + local.get $4 + i32.const 4 + i32.add + local.set $4 + br $while-continue|1 + end + end + local.get $1 + local.get $3 + i32.add + local.set $9 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_u + local.set $8 + local.get $8 + if + local.get $2 + local.get $4 + i32.load8_u + i32.const 374761393 + i32.mul + i32.add + local.set $2 + local.get $2 + i32.const 11 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $2 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|2 + end + end + local.get $2 + local.get $2 + i32.const 15 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -2048144777 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 13 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + i32.const -1028477379 + i32.mul + local.set $2 + local.get $2 + local.get $2 + i32.const 16 + i32.shr_u + i32.xor + local.set $2 + local.get $2 + end + return + ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -2670,8 +2924,80 @@ end i32.const 0 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) + (func $~lib/map/Map<~lib/string/String,usize>#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,usize>#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map<~lib/string/String,usize>#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,usize>#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 624 + i32.const 688 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (param $0 i32) (param $1 i32) + local.get $0 local.get $1 i32.store offset=4 ) @@ -2685,6 +3011,149 @@ local.get $1 i32.store offset=8 ) + (func $~lib/map/Map<~lib/string/String,usize>#rehash (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1 + i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $2 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store + local.get $2 + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=8 + local.set $6 + local.get $6 + local.get $0 + i32.load offset=16 + i32.const 12 + i32.mul + i32.add + local.set $7 + local.get $5 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.ne + local.set $9 + local.get $9 + if + local.get $6 + local.set $10 + local.get $10 + i32.load offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.load + local.tee $12 + i32.store offset=8 + local.get $11 + local.get $12 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:key + local.get $11 + local.get $10 + i32.load offset=4 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + local.get $12 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $1 + i32.and + local.set $13 + local.get $3 + local.get $13 + i32.const 4 + i32.mul + i32.add + local.set $14 + local.get $11 + local.get $14 + i32.load + call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + local.get $14 + local.get $8 + i32.store + local.get $8 + i32.const 12 + i32.add + local.set $8 + end + local.get $6 + i32.const 12 + i32.add + local.set $6 + br $while-continue|0 + end + end + local.get $0 + local.get $3 + call $~lib/map/Map<~lib/string/String,usize>#set:buckets + local.get $0 + local.get $1 + call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask + local.get $0 + local.get $5 + call $~lib/map/Map<~lib/string/String,usize>#set:entries + local.get $0 + local.get $4 + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + local.get $0 + local.get $0 + i32.load offset=20 + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/hash/HASH (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -2953,6 +3422,36 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + i32.const 0 + i32.ne + ) + (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $2 + local.get $2 + i32.eqz + if + i32.const 624 + i32.const 688 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + ) (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -4478,1001 +4977,94 @@ unreachable end ) - (func $~lib/util/hash/HASH<~lib/string/String> (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map<~lib/string/String,usize>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - i32.const 1 - drop - block $~lib/util/hash/hashStr|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/util/hash/hashStr|inlined.0 - end - local.get $1 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=4 - local.get $13 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $2 - local.set $3 - local.get $1 - local.set $4 - local.get $3 - i32.const 16 - i32.ge_u - if - i32.const 0 - i32.const -1640531535 - i32.add - i32.const -2048144777 - i32.add - local.set $5 - i32.const 0 - i32.const -2048144777 - i32.add - local.set $6 - i32.const 0 - local.set $7 - i32.const 0 - i32.const -1640531535 - i32.sub - local.set $8 - local.get $3 - local.get $4 - i32.add - i32.const 16 - i32.sub - local.set $9 - loop $while-continue|0 - local.get $4 - local.get $9 - i32.le_u - local.set $10 - local.get $10 - if - local.get $5 - local.set $12 - local.get $4 - i32.load - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $5 - local.get $6 - local.set $12 - local.get $4 - i32.load offset=4 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $6 - local.get $7 - local.set $12 - local.get $4 - i32.load offset=8 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $7 - local.get $8 - local.set $12 - local.get $4 - i32.load offset=12 - local.set $11 - local.get $12 - local.get $11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $8 - local.get $4 - i32.const 16 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $2 - local.get $5 - i32.const 1 - i32.rotl - local.get $6 - i32.const 7 - i32.rotl - i32.add - local.get $7 - i32.const 12 - i32.rotl - i32.add - local.get $8 - i32.const 18 - i32.rotl - i32.add - i32.add - local.set $2 - else - local.get $2 - i32.const 0 - i32.const 374761393 - i32.add - i32.add - local.set $2 - end - local.get $1 - local.get $3 - i32.add - i32.const 4 - i32.sub - local.set $9 - loop $while-continue|1 - local.get $4 - local.get $9 - i32.le_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load - i32.const -1028477379 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $2 - local.get $4 - i32.const 4 - i32.add - local.set $4 - br $while-continue|1 - end - end - local.get $1 - local.get $3 - i32.add - local.set $9 - loop $while-continue|2 - local.get $4 - local.get $9 - i32.lt_u - local.set $8 - local.get $8 - if - local.get $2 - local.get $4 - i32.load8_u - i32.const 374761393 - i32.mul - i32.add - local.set $2 - local.get $2 - i32.const 11 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $2 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - local.get $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -2048144777 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - i32.const -1028477379 - i32.mul - local.set $2 - local.get $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - local.set $2 - local.get $2 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/map/Map<~lib/string/String,usize>#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load - local.get $2 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - i32.load - local.set $3 - loop $while-continue|0 - local.get $3 - local.set $4 - local.get $4 - if - local.get $3 - i32.load offset=8 - local.set $5 - local.get $5 - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $3 - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String.__eq - else - i32.const 0 - end - if - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - local.get $5 - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/map/Map<~lib/string/String,usize>#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map<~lib/string/String,usize>#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 624 - i32.const 688 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - local.get $1 - i32.const 1 - i32.add - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $2 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store - local.get $2 - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store offset=4 - local.get $0 - i32.load offset=8 - local.set $6 - local.get $6 - local.get $0 - i32.load offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $5 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.ne - local.set $9 - local.get $9 - if - local.get $6 - local.set $10 - local.get $10 - i32.load offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $8 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.load - local.tee $12 - i32.store offset=8 - local.get $11 - local.get $12 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key - local.get $11 - local.get $10 - i32.load offset=4 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - local.get $12 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=12 - local.get $15 - call $~lib/util/hash/HASH<~lib/string/String> - local.get $1 - i32.and - local.set $13 - local.get $3 - local.get $13 - i32.const 4 - i32.mul - i32.add - local.set $14 - local.get $11 - local.get $14 - i32.load - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext - local.get $14 - local.get $8 - i32.store - local.get $8 - i32.const 12 - i32.add - local.set $8 - end - local.get $6 - i32.const 12 - i32.add - local.set $6 - br $while-continue|0 - end - end - local.get $0 - local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#set:buckets - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask - local.get $0 - local.get $5 - call $~lib/map/Map<~lib/string/String,usize>#set:entries - local.get $0 - local.get $4 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity - local.get $0 - local.get $0 - i32.load offset=20 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map<~lib/string/String,usize>#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/util/hash/HASH<~lib/string/String> - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - i32.const 0 - drop - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map<~lib/string/String,usize>#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key - i32.const 1 - drop - local.get $0 - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $4 - local.get $2 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - i32.const 0 - drop - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext - local.get $6 - local.get $4 - i32.store - end - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - call $~lib/util/hash/HASH - local.set $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 0 i32.store - local.get $7 - local.get $1 - local.get $3 - call $~lib/map/Map#find - local.set $4 - local.get $4 - if - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - else - local.get $0 - i32.load offset=16 - local.get $0 - i32.load offset=12 - i32.eq - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $0 - i32.load offset=20 - local.get $0 - i32.load offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load offset=4 - else - local.get $0 - i32.load offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load offset=8 - local.tee $5 - i32.store offset=4 - local.get $5 - local.get $0 - local.get $0 - i32.load offset=16 - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - i32.const 12 - i32.mul - i32.add - local.set $4 - local.get $4 - local.get $1 - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $4 - local.get $2 - call $~lib/map/MapEntry#set:value - i32.const 1 - drop - local.get $0 - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $0 - local.get $0 - i32.load offset=20 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $0 - i32.load - local.get $3 - local.get $0 - i32.load offset=4 - i32.and - i32.const 4 - i32.mul - i32.add - local.set $6 - local.get $4 - local.get $6 - i32.load - call $~lib/map/MapEntry#set:taggedNext - local.get $6 + local.get $0 + i32.load + local.get $2 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + i32.load + local.set $3 + loop $while-continue|0 + local.get $3 + local.set $4 local.get $4 - i32.store + if + local.get $3 + i32.load offset=8 + local.set $5 + local.get $5 + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $3 + i32.load + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $1 + call $~lib/string/String.__eq + else + i32.const 0 + end + if + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + local.get $5 + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $3 + br $while-continue|0 + end end - local.get $0 - local.set $7 + i32.const 0 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $6 ) (func $~lib/symbol/_Symbol.for (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store global.get $~lib/symbol/stringToId i32.eqz if @@ -5490,11 +5082,6 @@ i32.store local.get $3 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 call $~lib/map/Map<~lib/string/String,usize>#has if global.get $~lib/symbol/stringToId @@ -5504,15 +5091,10 @@ i32.store local.get $3 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 call $~lib/map/Map<~lib/string/String,usize>#get local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -5538,11 +5120,6 @@ i32.store local.get $3 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 local.get $2 call $~lib/map/Map<~lib/string/String,usize>#set drop @@ -5554,86 +5131,11 @@ local.get $3 local.get $2 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 call $~lib/map/Map#set drop local.get $2 local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - local.get $1 - local.get $1 - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $2 - local.get $2 - i32.eqz - if - i32.const 624 - i32.const 688 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -5683,103 +5185,16 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 0 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 1376 - local.tee $1 - i32.store - end - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $2 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $3 - local.get $2 - local.get $3 - i32.add - local.set $4 - local.get $4 - i32.const 0 - i32.eq - if - i32.const 800 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=8 - local.get $5 - local.get $0 - local.get $2 - call $~lib/memory/memory.copy - local.get $5 - local.get $2 - i32.add - local.get $1 - local.get $3 - call $~lib/memory/memory.copy - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 i32.const 1376 local.get $0 @@ -5792,15 +5207,10 @@ i32.store local.get $2 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -5811,7 +5221,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -5821,9 +5231,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer @@ -5994,11 +5401,6 @@ i32.store offset=12 local.get $4 local.get $2 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=16 - local.get $4 call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer @@ -6014,7 +5416,7 @@ call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6342,26 +5744,265 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/map/Map<~lib/string/String,usize>#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map<~lib/string/String,usize>#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map<~lib/string/String,usize>#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:buckets + local.get $0 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $0 + i32.const 0 + i32.const 4 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#set:entries + local.get $0 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $0 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map<~lib/string/String,usize>#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + call $~lib/util/hash/HASH<~lib/string/String> + local.set $3 + local.get $0 + local.get $1 + local.get $3 + call $~lib/map/Map<~lib/string/String,usize>#find + local.set $4 + local.get $4 + if + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + i32.const 0 + drop + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map<~lib/string/String,usize>#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:key + i32.const 1 + drop + local.get $0 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $4 + local.get $2 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + i32.const 0 + drop + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + local.get $6 + local.get $4 + i32.store + end + local.get $0 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $7 ) - (func $~lib/map/Map<~lib/string/String,usize>#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6370,106 +6011,191 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $1 + call $~lib/util/hash/HASH + local.set $3 local.get $0 - i32.eqz + local.get $1 + local.get $3 + call $~lib/map/Map#find + local.set $4 + local.get $4 if + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + else + local.get $0 + i32.load offset=16 + local.get $0 + i32.load offset=12 + i32.eq + if + local.get $0 + local.get $0 + i32.load offset=20 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $0 + i32.load offset=4 + else + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/map/Map#rehash + end global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 + local.get $0 + i32.load offset=8 + local.tee $5 + i32.store + local.get $5 + local.get $0 + local.get $0 + i32.load offset=16 + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + i32.const 12 + i32.mul + i32.add + local.set $4 + local.get $4 + local.get $1 + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $4 + local.get $2 + call $~lib/map/MapEntry#set:value + i32.const 1 + drop + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 + local.get $0 + i32.load offset=20 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $0 + i32.load + local.get $3 + local.get $0 + i32.load offset=4 + i32.and + i32.const 4 + i32.mul + i32.add + local.set $6 + local.get $4 + local.get $6 + i32.load + call $~lib/map/MapEntry#set:taggedNext + local.get $6 + local.get $4 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map<~lib/string/String,usize>#set:buckets - local.get $0 - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map<~lib/string/String,usize>#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset - local.get $0 - i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount - local.get $0 - local.set $1 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $7 ) - (func $~lib/map/Map#constructor (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/string/String#concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.const 0 - i32.store - local.get $0 - i32.eqz + i32.eq if global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 1376 + local.tee $1 i32.store end local.get $0 - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:buckets - local.get $0 - i32.const 4 + call $~lib/string/String#get:length i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $0 - i32.const 0 - i32.const 4 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - call $~lib/map/Map#set:entries - local.get $0 - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $0 - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $0 + i32.shl + local.set $2 + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $3 + local.get $2 + local.get $3 + i32.add + local.set $4 + local.get $4 i32.const 0 - call $~lib/map/Map#set:entriesCount + i32.eq + if + i32.const 800 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $5 local.get $0 - local.set $1 + local.get $2 + call $~lib/memory/memory.copy + local.get $5 + local.get $2 + i32.add + local.get $1 + local.get $3 + call $~lib/memory/memory.copy + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $6 ) ) diff --git a/tests/compiler/std/typedarray.optimized.wat b/tests/compiler/std/typedarray.optimized.wat index e13f033525..f99e20ca91 100644 --- a/tests/compiler/std/typedarray.optimized.wat +++ b/tests/compiler/std/typedarray.optimized.wat @@ -4,10 +4,10 @@ (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) + (type $i32_=>_none (func (param i32))) (type $f32_i32_i32_=>_i32 (func (param f32 i32 i32) (result i32))) (type $f64_i32_i32_=>_i32 (func (param f64 i32 i32) (result i32))) (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) @@ -2388,1258 +2388,541 @@ local.get $1 call $~lib/rt/itcms/__link ) - (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testInstantiate (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 44 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=24 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=32 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 710 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 32 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - ) - (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 699 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 33 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - local.get $1 - local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1385 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 34 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - f64.store - ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 f64) - (local $8 i32) + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/tlsf/__alloc - local.tee $6 - i32.const 0 - local.get $3 - call $~lib/memory/memory.fill + i32.load offset=4 local.get $1 - i32.const 1 + i32.load i32.sub - local.set $4 - loop $for-loop|0 - local.get $4 + if i32.const 0 - i32.gt_s - if - local.get $4 - local.set $3 - loop $while-continue|1 - local.get $3 - i32.const 1 - i32.and - local.get $6 - local.get $3 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $3 - i32.const 1 - i32.shr_s - i32.shr_u - i32.const 1 - i32.and - i32.eq - if - local.get $3 - i32.const 1 - i32.shr_s - local.set $3 - br $while-continue|1 - end - end - local.get $0 - local.get $3 - i32.const 1 - i32.shr_s - local.tee $3 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $4 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $8 - local.get $8 - i32.load - i32.const 1 - local.get $4 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $7 - f64.store - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|0 - end + i32.const 1568 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 local.get $1 - i32.const 1 - i32.sub - local.set $4 - loop $for-loop|2 - local.get $4 - i32.const 2 - i32.ge_s - if - local.get $0 - f64.load - local.set $5 - local.get $0 - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - f64.load - f64.store - local.get $1 - local.get $5 - f64.store - i32.const 1 - local.set $1 - loop $while-continue|3 - local.get $4 - local.get $6 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $1 - i32.shr_u - i32.const 1 - i32.and - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.gt_s - if - local.get $3 - local.set $1 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $1 - i32.const 0 - i32.gt_s - if - local.get $0 - f64.load - local.set $5 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.tee $3 - local.get $3 - i32.load - i32.const 1 - local.get $1 - i32.shl - i32.xor - i32.store - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store - local.get $0 - local.get $7 - f64.store - end - local.get $1 - i32.const 1 - i32.shr_s - local.set $1 - br $while-continue|4 - end - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|2 - end + i32.load offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 38 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - call $~lib/rt/tlsf/__free - local.get $0 - f64.load offset=8 - local.set $5 - local.get $0 - local.get $0 - f64.load - f64.store offset=8 - local.get $0 - local.get $5 - f64.store - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) local.get $0 - i64.reinterpret_f64 - local.tee $2 - local.get $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.tee $2 - local.get $1 - i64.reinterpret_f64 - local.tee $3 - local.get $3 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.tee $3 - i64.gt_s - local.get $2 - local.get $3 - i64.lt_s - i32.sub - ) - (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) local.get $1 - local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1374 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 39 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store offset=8 local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - ) - (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + i32.load offset=4 local.get $1 + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 42 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + local.get $1 i32.load offset=8 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 305 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 43 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 - i32.load offset=4 - i32.add - local.get $2 - i32.const 255 - local.get $2 - i32.sub - i32.const 31 - i32.shr_s - i32.or - local.get $2 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 - ) - (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 i32.load offset=8 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 294 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 44 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store offset=12 + local.get $1 i32.load offset=4 - i32.add - i32.load8_u - ) - (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u + i32.load + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 35 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 47 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 + i32.load offset=8 local.get $0 - i32.load offset=4 - i32.add - local.get $2 - i32.store8 - ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $2 - local.set $4 - local.get $0 - local.get $1 - i32.eq - br_if $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.get $1 - i32.lt_u - if - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $0 - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $0 - local.get $1 - i64.load - i64.store - local.get $4 - i32.const 8 - i32.sub - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $while-continue|1 - end - end - end - loop $while-continue|2 - local.get $4 - if - local.get $0 - local.tee $2 - i32.const 1 - i32.add - local.set $0 - local.get $1 - local.tee $3 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $3 - i32.load8_u - i32.store8 - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $while-continue|2 - end - end - else - local.get $1 - i32.const 7 - i32.and - local.get $0 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 - local.get $0 - local.get $4 - i32.add - i32.const 7 - i32.and - if - local.get $4 - i32.eqz - br_if $~lib/util/memory/memmove|inlined.0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $4 - i32.const 8 - i32.ge_u - if - local.get $4 - i32.const 8 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i64.load - i64.store - br $while-continue|4 - end - end - end - loop $while-continue|5 - local.get $4 - if - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $0 - i32.add - local.get $1 - local.get $4 - i32.add - i32.load8_u - i32.store8 - br $while-continue|5 - end - end - end - end - ) - (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u + i32.const 1 + i32.shl + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 24 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 48 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 - i32.load offset=4 - i32.add - i32.load8_s - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ne if - i32.const 1360 - i32.const 1760 - i32.const 92 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store offset=16 + local.get $1 i32.load offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add i32.load - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 170 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 - local.get $0 - i32.load offset=4 - i32.add - local.get $2 - i32.store8 - ) - (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 i32.load offset=8 + local.get $0 i32.const 1 - i32.shr_u - i32.ge_u + i32.shl + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 440 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 53 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - ) - (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $0 i32.load offset=8 i32.const 1 i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 575 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 54 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store offset=20 + local.get $1 i32.load offset=4 local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - ) - (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - local.get $0 i32.load offset=8 + local.get $0 i32.const 2 - i32.shr_u - i32.ge_u + i32.shl + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 845 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 58 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - ) - (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 - local.get $0 i32.load offset=8 - i32.const 3 + i32.const 2 i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 980 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 59 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store offset=24 local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 + i32.load offset=4 local.get $1 - i64.add - ) - (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + local.get $0 + i32.const 2 + i32.shl + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1115 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 63 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store - ) - (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 - local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1250 + i32.const 0 + i32.const 1568 i32.const 64 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - f32.store - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) - local.get $0 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store offset=28 local.get $1 - f32.add - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) - local.get $0 + i32.load offset=4 local.get $1 - f64.add - ) - (func $~lib/typedarray/Int8Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 0 - local.get $0 i32.load offset=8 - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + local.get $0 + i32.const 3 + i32.shl + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 47 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 68 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 - i32.load offset=4 - i32.add - i32.load8_s - ) - (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) local.get $1 - i32.const 0 - local.get $0 i32.load offset=8 - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.const 3 + i32.shr_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 182 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 69 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - ) - (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store offset=32 local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - local.tee $2 + i32.load offset=4 local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.load + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 317 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 72 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 + i32.load offset=8 local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - ) - (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 452 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 + i32.const 3 i32.shl - i32.add - i32.load16_s - ) - (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 587 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 73 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - ) - (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) local.get $1 - i32.const 0 - local.get $0 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 722 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 74 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store offset=36 + local.get $1 i32.load offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add i32.load - ) - (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 857 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 77 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) local.get $1 - i32.const 0 - local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 992 - i32.const 33 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 + i32.const 2 i32.shl - i32.add - i64.load - ) - (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1127 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 78 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) - (local $2 i32) local.get $1 - i32.const 0 - local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1262 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 79 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - ) - (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store offset=40 local.get $1 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $2 + i32.load offset=4 local.get $1 - i32.const 0 - i32.ge_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.load + i32.sub if - i32.const 1360 - i32.const 1632 - i32.const 1397 - i32.const 33 + i32.const 0 + i32.const 1568 + i32.const 82 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 local.get $1 + i32.load offset=8 + local.get $0 i32.const 3 i32.shl - i32.add - f64.load - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 159 - i32.const 45 + i32.const 0 + i32.const 1568 + i32.const 83 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - ) - (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 i32.load offset=8 - i32.const 1 + i32.const 3 i32.shr_u - i32.ge_u + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 429 - i32.const 64 + i32.const 0 + i32.const 1568 + i32.const 84 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 44 i32.add - i32.load16_s + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 - i32.const 1 + i32.const 2 i32.shr_u i32.ge_u if i32.const 1360 i32.const 1632 - i32.const 564 + i32.const 710 i32.const 64 call $~lib/builtins/abort unreachable @@ -3647,12 +2930,13 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_u + local.get $2 + i32.store ) - (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 @@ -3662,7 +2946,7 @@ if i32.const 1360 i32.const 1632 - i32.const 834 + i32.const 699 i32.const 64 call $~lib/builtins/abort unreachable @@ -3675,12 +2959,7 @@ i32.add i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) - local.get $0 - local.get $0 - i64.mul - ) - (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) + (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 @@ -3690,7 +2969,7 @@ if i32.const 1360 i32.const 1632 - i32.const 969 + i32.const 1385 i32.const 64 call $~lib/builtins/abort unreachable @@ -3701,2084 +2980,1417 @@ i32.const 3 i32.shl i32.add - i64.load + local.get $2 + f64.store ) - (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1104 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 f64) + (local $8 i32) local.get $1 - i32.const 3 - i32.shl + i32.const 31 i32.add - i64.load - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - local.get $0 - f32.mul - ) - (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 + i32.const 5 i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1239 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 i32.const 2 i32.shl - i32.add - f32.load - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result f64) - local.get $0 - local.get $0 - f64.mul - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.gt_s - ) - (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - local.tee $2 - i32.load - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $2 - local.get $1 - i32.store offset=16 - local.get $0 - return - end - local.get $1 - local.get $2 - i32.load offset=12 - call $~lib/rt/itcms/__new local.tee $3 - local.get $0 - local.get $1 - local.get $2 - i32.load offset=16 - local.tee $0 - local.get $0 - local.get $1 - i32.gt_u - select - call $~lib/memory/memory.copy + call $~lib/rt/tlsf/__alloc + local.tee $6 + i32.const 0 local.get $3 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.gt - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.gt - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.eqz - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.eqz - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.eqz - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.eqz - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 0 - f32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 0 - f64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 4 - f32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 4 - f64.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 1 - i32.and - i32.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 1 - i32.and - i32.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 1 - i32.and - i32.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 1 - i64.and - i64.eqz - ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (result f32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $1 - i32.const -2147483648 - i32.and - local.set $4 - local.get $1 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.tee $2 - i32.const 255 - i32.eq - if - local.get $0 - local.get $0 - f32.add - local.tee $0 - local.get $0 - f32.div - return - end + call $~lib/memory/memory.fill local.get $1 i32.const 1 - i32.shl - local.tee $3 - i32.const -2147483648 - i32.le_u - if - local.get $0 - local.get $3 - i32.const -2147483648 - i32.ne - f32.convert_i32_u - f32.mul - return - end - local.get $2 - if (result i32) - local.get $1 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or - else - local.get $1 - i32.const 1 - local.get $2 - local.get $1 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.tee $2 - i32.sub - i32.shl - end - local.set $1 - block $folding-inner0 - loop $while-continue|0 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $4 + local.set $3 + loop $while-continue|1 + local.get $3 + i32.const 1 + i32.and + local.get $6 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $3 + i32.const 1 + i32.shr_s + i32.shr_u + i32.const 1 + i32.and + i32.eq + if + local.get $3 + i32.const 1 + i32.shr_s + local.set $3 + br $while-continue|1 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shr_s + local.tee $3 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $5 + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 local.get $2 - i32.const 128 - i32.gt_s + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s if - local.get $1 - i32.const 8388608 - i32.ge_u - if (result i32) - local.get $1 - i32.const 8388608 - i32.eq - br_if $folding-inner0 - local.get $1 - i32.const 8388608 - i32.sub - else - local.get $1 - end - i32.const 1 + local.get $6 + local.get $4 + i32.const 5 + i32.shr_u + i32.const 2 i32.shl - local.set $1 - local.get $2 + i32.add + local.tee $8 + local.get $8 + i32.load i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 + local.get $4 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $7 + f64.store end - end - local.get $1 - i32.const 8388608 - i32.ge_u - if - local.get $1 - i32.const 8388608 - i32.eq - br_if $folding-inner0 - local.get $1 - i32.const 8388608 + local.get $4 + i32.const 1 i32.sub - local.set $1 + local.set $4 + br $for-loop|0 end - local.get $1 - local.get $1 - i32.const 8 - i32.shl - i32.clz - local.tee $3 - i32.shl - local.set $1 - local.get $2 - local.get $3 - i32.sub - local.tee $2 - i32.const 0 - i32.gt_s - if (result i32) - local.get $1 - i32.const 8388608 - i32.sub - local.get $2 - i32.const 23 + end + local.get $1 + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|2 + local.get $4 + i32.const 2 + i32.ge_s + if + local.get $0 + f64.load + local.set $5 + local.get $0 + local.get $0 + local.get $4 + i32.const 3 i32.shl - i32.or - else + i32.add + local.tee $1 + f64.load + f64.store local.get $1 + local.get $5 + f64.store + i32.const 1 + local.set $1 + loop $while-continue|3 + local.get $4 + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $1 + i32.shr_u + i32.const 1 + i32.and + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.gt_s + if + local.get $3 + local.set $1 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $1 + i32.const 0 + i32.gt_s + if + local.get $0 + f64.load + local.set $5 + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $2 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + local.tee $3 + local.get $3 + i32.load + i32.const 1 + local.get $1 + i32.shl + i32.xor + i32.store + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store + local.get $0 + local.get $7 + f64.store + end + local.get $1 + i32.const 1 + i32.shr_s + local.set $1 + br $while-continue|4 + end + end + local.get $4 i32.const 1 - local.get $2 i32.sub - i32.shr_u + local.set $4 + br $for-loop|2 end - local.get $4 - i32.or - f32.reinterpret_i32 - return end + local.get $6 + call $~lib/rt/tlsf/__free local.get $0 - f32.const 0 - f32.mul - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + f64.load offset=8 + local.set $5 local.get $0 - call $~lib/math/NativeMathf.mod - f32.const 0 - f32.eq - ) - (func $~lib/math/NativeMath.mod (param $0 f64) (result f64) - (local $1 i64) - (local $2 i64) - (local $3 i64) - (local $4 i64) local.get $0 - i64.reinterpret_f64 - local.tee $1 - i64.const 63 - i64.shr_u - local.set $4 - local.get $1 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $2 - i64.const 2047 - i64.eq - if - local.get $0 - local.get $0 - f64.add - local.tee $0 + f64.load + f64.store offset=8 + local.get $0 + local.get $5 + f64.store + ) + (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $0 - f64.div - return - end - local.get $1 - i64.const 1 - i64.shl - local.tee $3 - i64.const -9223372036854775808 - i64.le_u - if + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $7 + i32.const 1 + i32.le_u + br_if $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 local.get $0 - local.get $3 - i64.const -9223372036854775808 - i64.ne - f64.convert_i32_u - f64.mul - return - end - local.get $2 - i64.eqz - if (result i64) - local.get $1 - i64.const 1 - local.get $2 - local.get $1 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.tee $2 - i64.sub - i64.shl - else - local.get $1 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - end - local.set $1 - block $folding-inner0 - loop $while-continue|0 - local.get $2 - i64.const 1024 - i64.gt_s + i32.load offset=4 + local.set $3 + local.get $7 + i32.const 2 + i32.eq + if + local.get $3 + f64.load offset=8 + local.set $4 + local.get $3 + f64.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $1 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s if - local.get $1 - i64.const 4503599627370496 - i64.ge_u - if (result i64) - local.get $1 - i64.const 4503599627370496 - i64.eq - br_if $folding-inner0 - local.get $1 - i64.const 4503599627370496 - i64.sub - else - local.get $1 - end - i64.const 1 - i64.shl - local.set $1 - local.get $2 - i64.const 1 - i64.sub - local.set $2 - br $while-continue|0 + local.get $3 + local.get $5 + f64.store offset=8 + local.get $3 + local.get $4 + f64.store end + br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $1 - i64.const 4503599627370496 - i64.ge_u + local.get $7 + i32.const 256 + i32.lt_u if local.get $1 - i64.const 4503599627370496 - i64.eq - br_if $folding-inner0 - local.get $1 - i64.const 4503599627370496 - i64.sub - local.set $1 - end - local.get $1 - local.get $1 - i64.const 11 - i64.shl - i64.clz - local.tee $3 - i64.shl - local.set $1 - local.get $2 - local.get $3 - i64.sub - local.tee $2 - i64.const 0 - i64.gt_s - if (result i64) - local.get $1 - i64.const 4503599627370496 - i64.sub - local.get $2 - i64.const 52 - i64.shl - i64.or + local.set $2 + loop $for-loop|0 + local.get $6 + local.get $7 + i32.lt_s + if + local.get $3 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $4 + local.get $6 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|1 + local.get $1 + i32.const 0 + i32.ge_s + if + block $while-break|1 + local.get $3 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $2 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.ge_s + br_if $while-break|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $3 + local.get $0 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store + br $while-continue|1 + end + end + end + local.get $3 + local.get $1 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $4 + f64.store + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end else + local.get $3 + local.get $7 local.get $1 - i64.const 1 - local.get $2 - i64.sub - i64.shr_u + call $~lib/util/sort/weakHeapSort end - local.get $4 - i64.const 63 - i64.shl - i64.or - f64.reinterpret_i64 - return end - local.get $0 - f64.const 0 - f64.mul ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) local.get $0 - call $~lib/math/NativeMath.mod - f64.const 0 - f64.eq + i64.reinterpret_f64 + local.tee $2 + local.get $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.tee $2 + local.get $1 + i64.reinterpret_f64 + local.tee $3 + local.get $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.tee $3 + i64.gt_s + local.get $2 + local.get $3 + i64.lt_s + i32.sub ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 local.get $0 - i32.const 10 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.ge_u - i32.const 1 - i32.add + if + i32.const 1360 + i32.const 1632 + i32.const 1374 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 10000 - i32.ge_u + i32.load offset=4 + local.get $1 i32.const 3 + i32.shl i32.add + f64.load + ) + (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 - i32.const 1000 + i32.load offset=8 i32.ge_u - i32.add - local.get $0 - i32.const 100 - i32.lt_u - select + if + i32.const 1360 + i32.const 1632 + i32.const 305 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $1 local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 + i32.load offset=4 i32.add + local.get $2 + i32.const 255 + local.get $2 + i32.sub + i32.const 31 + i32.shr_s + i32.or + local.get $2 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 + ) + (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i32.const 1000000000 + i32.load offset=8 i32.ge_u - i32.const 8 + if + i32.const 1360 + i32.const 1632 + i32.const 294 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $0 + i32.load offset=4 i32.add + i32.load8_u + ) + (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 local.get $0 - i32.const 100000000 + i32.load offset=8 i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 35 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $0 + i32.load offset=4 i32.add + local.get $2 + i32.store8 + ) + (func $~lib/typedarray/Int8Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.const 10000000 - i32.lt_u - select + i32.load offset=4 + local.set $5 local.get $0 - i32.const 100000 - i32.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) - loop $do-continue|0 - local.get $0 + i32.load offset=8 + local.set $4 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 10 - i32.rem_u - i32.const 48 + local.get $4 i32.add - i32.store16 - local.get $1 - i32.const 10 - i32.div_u - local.tee $1 - br_if $do-continue|0 + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $4 + local.get $2 + local.get $4 + i32.lt_s + select end - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s + local.tee $0 + local.get $3 i32.const 0 i32.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 + if (result i32) + local.get $3 + local.get $4 + i32.add + local.tee $2 i32.const 0 - local.get $1 - i32.sub - local.set $1 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $3 + local.get $4 + local.get $3 + local.get $4 + i32.lt_s + select end - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 10 - i32.lt_u + local.tee $2 + i32.lt_s if local.get $0 - local.get $2 - i32.const 1 - i32.shl + local.get $5 i32.add local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 48 - i32.or - i32.store16 local.get $2 - i32.const 1 - i32.add - return + local.get $0 + i32.sub + call $~lib/memory/memory.fill end - local.get $2 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.tee $2 - call $~lib/util/number/decimalCount32 - i32.add - local.set $1 - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - local.get $1 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 255 - i32.and - i32.const 10 - i32.lt_u - if + (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $2 + local.set $4 local.get $0 local.get $1 - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return - end - local.get $1 - i32.const 255 - i32.and - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - local.get $1 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 0 - i32.lt_s - local.tee $2 - if + i32.eq + br_if $~lib/util/memory/memmove|inlined.0 local.get $0 - i32.const 45 - i32.store16 - i32.const 0 local.get $1 - i32.sub - local.set $1 + i32.lt_u + if + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $0 + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $0 + local.get $1 + i64.load + i64.store + local.get $4 + i32.const 8 + i32.sub + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $4 + if + local.get $0 + local.tee $2 + i32.const 1 + i32.add + local.set $0 + local.get $1 + local.tee $3 + i32.const 1 + i32.add + local.set $1 + local.get $2 + local.get $3 + i32.load8_u + i32.store8 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $while-continue|2 + end + end + else + local.get $1 + i32.const 7 + i32.and + local.get $0 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $0 + local.get $4 + i32.add + i32.const 7 + i32.and + if + local.get $4 + i32.eqz + br_if $~lib/util/memory/memmove|inlined.0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $4 + i32.const 8 + i32.ge_u + if + local.get $4 + i32.const 8 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $4 + if + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $0 + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end end + ) + (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 10 - i32.lt_u + local.get $0 + i32.load offset=8 + i32.ge_u if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 48 - i32.or - i32.store16 - local.get $2 - i32.const 1 - i32.add - return + i32.const 1360 + i32.const 1632 + i32.const 24 + i32.const 45 + call $~lib/builtins/abort + unreachable end - local.get $2 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - local.tee $2 - call $~lib/util/number/decimalCount32 - i32.add - local.set $1 local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - local.get $1 + i32.load offset=4 + i32.add + i32.load8_s ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + i32.load offset=8 local.get $1 - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u + i32.load offset=12 + i32.ne if - local.get $0 - local.get $1 - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 - i32.const 1 + i32.const 0 return end - local.get $1 - i32.const 65535 - i32.and - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - local.get $1 + i32.load offset=8 + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int8Array#__get + local.get $2 + local.get $1 + i32.load offset=12 + i32.ge_u + if + i32.const 1360 + i32.const 1760 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.load offset=4 + i32.add + i32.load8_s + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) local.get $1 + local.set $4 + local.get $0 + i32.load offset=4 + local.set $5 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $1 + local.get $2 i32.const 0 i32.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - i32.const 0 + if (result i32) local.get $1 - i32.sub - local.set $1 - end - local.get $1 - i32.const 10 - i32.lt_u - if - local.get $0 local.get $2 - i32.const 1 - i32.shl i32.add + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $1 local.get $1 - i32.const 48 - i32.or - i32.store16 local.get $2 - i32.const 1 + i32.gt_s + select + end + local.set $0 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 i32.add - return + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $3 + local.get $1 + local.get $1 + local.get $3 + i32.gt_s + select end - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $0 - ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 10 - i32.lt_u - if + local.set $1 + loop $for-loop|0 local.get $0 local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $4 + i32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount32 - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $0 ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000 - i64.lt_u - select - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add + i32.load offset=12 + i32.ge_u + if + i32.const 1360 + i32.const 1760 + i32.const 92 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $0 - i64.const 1000000000000000000 - i64.ge_u + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - local.get $0 - i64.const 100000000000000000 - i64.lt_u - select - local.get $0 - i64.const 1000000000000000 - i64.lt_u - select - ) - (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) - loop $do-continue|0 - local.get $0 - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 10 - i64.rem_u - i32.wrap_i64 - i32.const 48 - i32.add - i32.store16 - local.get $1 - i64.const 10 - i64.div_u - local.tee $1 - i64.const 0 - i64.ne - br_if $do-continue|0 - end + i32.load ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (func $std/typedarray/isInt32ArrayEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 - i64.const 0 - i64.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - i64.const 0 - local.get $1 - i64.sub - local.set $1 - end - local.get $1 - i64.const 10 - i64.lt_u + i32.load offset=12 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ne if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 48 - i64.or - i64.store16 - local.get $2 - i32.const 1 - i32.add + i32.const 0 return end - local.get $1 - i64.const 4294967295 - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.tee $3 - call $~lib/util/number/decimalCount32 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 + loop $for-loop|0 local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int32Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) + (func $~lib/typedarray/Int32Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + local.set $5 + local.get $0 + local.tee $3 + i32.load offset=4 + local.tee $6 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $4 i32.add - local.set $2 + local.tee $0 + i32.const 0 local.get $0 - local.get $3 - local.get $2 - call $~lib/util/number/utoa_dec_simple + i32.const 0 + i32.gt_s + select else - local.get $0 local.get $1 + local.get $4 local.get $1 - call $~lib/util/number/decimalCount64High + local.get $4 + i32.lt_s + select + end + local.tee $1 + i32.const 2 + i32.shl + i32.add + local.get $6 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $4 + i32.add + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + else local.get $2 + local.get $4 + local.get $2 + local.get $4 + i32.lt_s + select + end + local.tee $0 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $4 + local.get $5 i32.add local.tee $2 - call $~lib/util/number/utoa_dec_simple + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $5 + local.get $4 + local.get $4 + local.get $5 + i32.gt_s + select end + local.get $0 + i32.sub + local.tee $2 + local.get $4 + local.get $1 + i32.sub + local.tee $0 + local.get $0 local.get $2 + i32.gt_s + select + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $3 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 local.get $1 - i64.const 10 - i64.lt_u - if - local.get $0 - local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 - return - end + i32.add + ) + (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - i64.const 4294967295 - i64.le_u + local.get $0 + i32.load offset=8 + i32.ge_u if - local.get $1 - i32.wrap_i64 - local.tee $3 - call $~lib/util/number/decimalCount32 - local.set $2 - local.get $0 - local.get $3 - local.get $2 - call $~lib/util/number/utoa_dec_simple - else - local.get $0 - local.get $1 - local.get $1 - call $~lib/util/number/decimalCount64High - local.tee $2 - call $~lib/util/number/utoa_dec_simple + i32.const 1360 + i32.const 1632 + i32.const 170 + i32.const 45 + call $~lib/builtins/abort + unreachable end + local.get $1 + local.get $0 + i32.load offset=4 + i32.add local.get $2 + i32.store8 ) - (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) - (local $7 i64) - (local $8 i64) - (local $9 i32) - (local $10 i64) - (local $11 i32) - (local $12 i64) - (local $13 i64) - local.get $3 - local.get $1 - i64.sub - local.set $8 - local.get $3 - i64.const 1 - i32.const 0 - local.get $4 - i32.sub - local.tee $11 - i64.extend_i32_s - i64.shl - local.tee $10 - i64.const 1 - i64.sub - local.tee $12 - i64.and - local.set $7 - local.get $3 - local.get $11 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $9 - loop $while-continue|0 - local.get $9 - i32.const 0 - i32.gt_s + (func $~lib/typedarray/Uint8Array#reduce (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $0 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=8 + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $9 - i32.const 1 - i32.sub - br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 - end - local.get $2 - i32.const 1000000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 100000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 10000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 1000000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100000 - i32.div_u - local.set $4 - local.get $2 - i32.const 100000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10000 - i32.div_u - local.set $4 - local.get $2 - i32.const 10000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 1000 - i32.div_u - local.set $4 - local.get $2 - i32.const 1000 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 100 - i32.div_u - local.set $4 - local.get $2 - i32.const 100 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - i32.const 10 - i32.div_u - local.set $4 - local.get $2 - i32.const 10 - i32.rem_u - local.set $2 - br $break|1 - end - local.get $2 - local.set $4 - i32.const 0 - local.set $2 - br $break|1 - end - i32.const 0 - local.set $4 - end + local.get $2 local.get $4 + i32.add + i32.load8_u + local.set $6 + i32.const 4 + global.set $~argumentsLength + local.get $3 local.get $6 - i32.or - if - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 - local.get $6 - i32.const 1 - i32.add - local.set $6 - end - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $5 - local.get $7 local.get $2 - i64.extend_i32_u - local.get $11 - i64.extend_i32_s - i64.shl - i64.add - local.tee $1 - i64.ge_u - if - local.get $9 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $9 - i32.const 2 - i32.shl - i32.const 8576 - i32.add - i64.load32_u - local.get $11 - i64.extend_i32_s - i64.shl - local.set $10 - local.get $0 - local.get $6 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $2 - loop $while-continue|3 - i32.const 1 - local.get $8 - local.get $1 - i64.sub - local.get $1 - local.get $10 - i64.add - local.tee $3 - local.get $8 - i64.sub - i64.gt_u - local.get $3 - local.get $8 - i64.lt_u - select - i32.const 0 - local.get $10 - local.get $5 - local.get $1 - i64.sub - i64.le_u - i32.const 0 - local.get $1 - local.get $8 - i64.lt_u - select - select - if - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $10 - i64.add - local.set $1 - br $while-continue|3 - end - end - local.get $0 - local.get $2 - i32.store16 - local.get $6 - return - end - br $while-continue|0 - end - end - local.get $11 - i64.extend_i32_s - local.set $13 - loop $while-continue|4 (result i32) - local.get $5 - i64.const 10 - i64.mul - local.set $5 - local.get $7 - i64.const 10 - i64.mul - local.tee $3 - local.get $13 - i64.shr_u - local.tee $1 - local.get $6 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add local.get $1 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 - local.get $6 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $2 i32.const 1 i32.add - local.set $6 + local.set $2 + br $for-loop|0 end - local.get $9 - i32.const 1 - i32.sub - local.set $9 - local.get $3 - local.get $12 - i64.and - local.tee $7 - local.get $5 - i64.ge_u - br_if $while-continue|4 - local.get $9 - global.get $~lib/util/number/_K - i32.add - global.set $~lib/util/number/_K - local.get $7 - local.set $1 - local.get $8 - i32.const 0 - local.get $9 - i32.sub - i32.const 2 - i32.shl - i32.const 8576 - i32.add - i64.load32_u - i64.mul - local.set $8 - local.get $0 - local.get $6 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u - local.set $2 - loop $while-continue|6 - i32.const 1 - local.get $8 - local.get $1 - i64.sub - local.get $1 - local.get $10 - i64.add - local.tee $3 - local.get $8 - i64.sub - i64.gt_u - local.get $3 - local.get $8 - i64.lt_u - select - i32.const 0 - local.get $10 - local.get $5 - local.get $1 - i64.sub - i64.le_u - i32.const 0 - local.get $1 - local.get $8 - i64.lt_u - select - select - if - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $10 - i64.add - local.set $1 - br $while-continue|6 - end - end - local.get $0 - local.get $2 - i32.store16 - local.get $6 end + local.get $3 ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $2 - i32.eqz + (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.ge_u if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $1 - i32.const 2 - i32.add - return + i32.const 1360 + i32.const 1632 + i32.const 440 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.load offset=4 local.get $1 - local.get $2 + i32.const 1 + i32.shl i32.add - local.tee $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $1 - local.get $3 - i32.le_s - select - if (result i32) - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store - local.get $3 - i32.const 2 - i32.add - else - local.get $3 - i32.const 21 - i32.le_s - i32.const 0 - local.get $3 - i32.const 0 - i32.gt_s - select - if (result i32) - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.const 2 - i32.add - local.get $0 - i32.const 0 - local.get $2 - i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 - local.get $1 - i32.const 1 - i32.add - else - local.get $3 - i32.const 0 - i32.le_s - i32.const 0 - local.get $3 - i32.const -6 - i32.gt_s - select - if (result i32) - local.get $0 - i32.const 2 - local.get $3 - i32.sub - local.tee $3 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 3014704 - i32.store - i32.const 2 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - local.get $1 - local.get $3 - i32.add - else - local.get $1 - i32.const 1 - i32.eq - if (result i32) - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $1 - i32.const 4 - i32.add - local.get $3 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - i32.lt_s - local.tee $2 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end - local.get $0 - local.get $0 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $1 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 offset=4 - local.get $0 - i32.const 2 - i32.add - else - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.const 2 - i32.add - local.get $1 - i32.const 1 - i32.shl - local.tee $2 - i32.const 2 - i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - local.tee $2 - i32.const 4 - i32.add - local.get $3 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - i32.lt_s - local.tee $3 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end - local.get $0 - local.get $0 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa_dec_simple - local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 offset=4 - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.add - end - end - end - end + local.get $2 + i32.store16 ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i32) - (local $9 i32) - (local $10 i32) + (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - f64.const 0 - f64.lt - local.tee $9 - if (result f64) - local.get $0 - i32.const 45 - i32.store16 - local.get $1 - f64.neg - else - local.get $1 - end - i64.reinterpret_f64 - local.tee $2 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $8 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $2 - i64.const 4503599627370495 - i64.and - i64.add - local.tee $3 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $2 - local.get $2 - i64.clz - i32.wrap_i64 - local.tee $4 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus - local.get $8 - i32.const 1 - local.get $8 - select - i32.const 1075 - i32.sub - local.tee $8 + local.get $0 + i32.load offset=8 i32.const 1 - i32.sub - local.get $4 - i32.sub - local.set $4 - local.get $3 - local.get $3 - i64.const 4503599627370496 - i64.eq + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 575 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 i32.const 1 + i32.shl i32.add - local.tee $10 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $8 - local.get $10 - i32.sub - local.get $4 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $4 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.tee $1 - i32.trunc_f64_s - local.tee $4 + local.get $2 + i32.store16 + ) + (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $4 - f64.convert_i32_s - f64.ne + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 845 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add + local.get $2 + i32.store + ) + (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 + local.get $0 + i32.load offset=8 i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.tee $4 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 980 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 i32.const 3 i32.shl - local.tee $10 - i32.sub - global.set $~lib/util/number/_K - local.get $10 - i32.const 7704 - i32.add - i64.load - global.set $~lib/util/number/_frc_pow - local.get $4 - i32.const 1 - i32.shl - i32.const 8400 i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - global.get $~lib/util/number/_frc_pow - local.tee $6 - i64.const 4294967295 - i64.and - local.set $2 - local.get $6 - i64.const 32 - i64.shr_u - local.tee $6 - global.get $~lib/util/number/_frc_plus - local.tee $5 - i64.const 32 - i64.shr_u - local.tee $7 - i64.mul local.get $2 - local.get $7 - i64.mul - local.get $2 - local.get $5 - i64.const 4294967295 - i64.and - local.tee $5 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 32 - i64.shr_u - i64.add - local.get $5 - local.get $6 - i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u + i64.store + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + local.get $0 + local.get $1 i64.add - i64.const 1 - i64.sub - local.set $5 + ) + (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 local.get $0 - local.get $9 - i32.const 1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1115 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 i32.shl i32.add - local.get $0 - local.get $6 - local.get $3 - local.get $3 - i64.clz - i32.wrap_i64 - local.tee $0 - i64.extend_i32_s - i64.shl - local.tee $3 - i64.const 32 - i64.shr_u - local.tee $7 - i64.mul - local.get $2 - local.get $7 - i64.mul local.get $2 - local.get $3 - i64.const 4294967295 - i64.and - local.tee $3 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $7 - i64.const 32 - i64.shr_u - i64.add - local.get $3 - local.get $6 - i64.mul - local.get $7 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - global.get $~lib/util/number/_exp_pow - local.tee $4 - local.get $8 + i64.store + ) + (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) + local.get $1 local.get $0 - i32.sub - i32.add - i32.const -64 - i32.sub - local.get $5 - local.get $4 - global.get $~lib/util/number/_exp + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1250 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - i32.const -64 - i32.sub - local.get $5 - local.get $6 - global.get $~lib/util/number/_frc_minus - local.tee $3 - i64.const 32 - i64.shr_u - local.tee $5 - i64.mul - local.get $2 - local.get $5 - i64.mul local.get $2 - local.get $3 - i64.const 4294967295 - i64.and + f32.store + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + local.get $0 + local.get $1 + f32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 + local.get $1 + f64.add + ) + (func $~lib/typedarray/Int8Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + local.get $0 + i32.load offset=8 local.tee $2 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.tee $3 - i64.const 32 - i64.shr_u - i64.add + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 local.get $2 - local.get $6 - i64.mul - local.get $3 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - i64.const 1 - i64.add - i64.sub - local.get $9 - call $~lib/util/number/genDigits - local.get $9 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.get $9 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 47 + i32.const 33 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $0 + i32.load offset=4 i32.add + i32.load8_s ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 - f64.const 0 - f64.eq + i32.const 0 + local.get $0 + i32.load offset=8 + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - local.get $0 - i32.const 48 - i32.store16 - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - i32.const 48 - i32.store16 offset=4 - i32.const 3 - return + i32.const 1360 + i32.const 1632 + i32.const 182 + i32.const 33 + call $~lib/builtins/abort + unreachable end local.get $1 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u + ) + (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 - f64.sub - f64.const 0 - f64.ne + i32.const 0 + local.get $0 + i32.load offset=8 + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - local.get $1 - local.get $1 - f64.ne - if - local.get $0 - i32.const 78 - i32.store16 - local.get $0 - i32.const 97 - i32.store16 offset=2 - local.get $0 - i32.const 78 - i32.store16 offset=4 - i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 - local.get $0 - i32.const 2 - i32.add - local.set $0 - end - local.get $0 - i64.const 29555310648492105 - i64.store - local.get $0 - i64.const 34058970405077102 - i64.store offset=8 - local.get $2 - i32.const 8 - i32.add - return - end + i32.const 1360 + i32.const 1632 + i32.const 317 + i32.const 33 + call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 - call $~lib/util/number/dtoa_core + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u ) - (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + local.get $1 + i32.const 0 local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $2 local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 local.get $2 - call $~lib/typedarray/Uint8Array.wrap - ) - (func $~lib/typedarray/Int16Array#__uget (param $0 i32) (param $1 i32) (result i32) + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 452 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 @@ -5787,7 +4399,31 @@ i32.add i32.load16_s ) - (func $~lib/typedarray/Uint16Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 587 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 @@ -5796,7 +4432,31 @@ i32.add i32.load16_u ) - (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 722 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 @@ -5805,7 +4465,31 @@ i32.add i32.load ) - (func $~lib/typedarray/Uint32Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 857 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 @@ -5814,16 +4498,31 @@ i32.add i32.load ) - (func $~lib/typedarray/Int64Array#__uget (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 + (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) local.get $1 + i32.const 0 + local.get $0 + i32.load offset=8 i32.const 3 - i32.shl + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select i32.add - i64.load - ) - (func $~lib/typedarray/Uint64Array#__uget (param $0 i32) (param $1 i32) (result i64) + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 992 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 @@ -5832,1559 +4531,1028 @@ i32.add i64.load ) - (func $~lib/typedarray/Float32Array#__uget (param $0 i32) (param $1 i32) (result f32) + (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) + local.get $1 + i32.const 0 local.get $0 - i32.load offset=4 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 local.get $1 - i32.const 2 - i32.shl + i32.const 0 + i32.ge_s + select i32.add - f32.load - ) - (func $~lib/typedarray/Float64Array#__uget (param $0 i32) (param $1 i32) (result f64) + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1127 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load + i64.load ) - (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid - end - return - end - return - end - unreachable - end - local.get $0 - i32.load offset=4 - call $~lib/rt/itcms/__visit - return - end - local.get $0 - i32.load - call $~lib/rt/itcms/__visit - return - end + (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) + local.get $1 + i32.const 0 local.get $0 - i32.load - local.tee $0 - if - local.get $0 - call $~lib/rt/itcms/__visit - end - ) - (func $~start - call $start:std/typedarray - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 13724 - i32.lt_s + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 30128 - i32.const 30176 - i32.const 1 - i32.const 1 + i32.const 1360 + i32.const 1632 + i32.const 1262 + i32.const 33 call $~lib/builtins/abort unreachable end - ) - (func $~lib/typedarray/Int8Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) local.get $1 + i32.const 0 local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 + local.get $1 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.ge_s + select i32.add - global.set $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1397 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + (func $~lib/typedarray/Uint8Array#reduceRight (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.tee $2 + i32.load offset=4 + local.set $4 + local.get $0 + i32.load offset=8 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.set $0 + loop $for-loop|0 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $4 + i32.add + i32.load8_u + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $0 + local.get $2 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end + end + local.get $3 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 + i32.mul ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 159 + i32.const 45 + call $~lib/builtins/abort + unreachable + end local.get $1 local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=4 i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.load8_u ) - (func $~lib/typedarray/Int16Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 + i32.load offset=8 i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 429 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 - ) - (func $~lib/typedarray/Uint16Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + i32.load offset=4 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.shl + i32.add + i32.load16_s + ) + (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 + i32.load offset=8 i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 564 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 - ) - (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + i32.load offset=4 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.shl + i32.add + i32.load16_u + ) + (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 + i32.load offset=8 i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 834 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 - ) - (func $~lib/typedarray/Uint32Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.load offset=4 local.get $1 - local.get $0 i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + local.get $0 local.get $0 + i64.mul ) - (func $~lib/typedarray/Int64Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 969 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 - ) - (func $~lib/typedarray/Uint64Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer + i32.load offset=4 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) local.get $1 local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1104 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i64.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 + local.get $0 + f32.mul ) - (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Float64Array#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $std/typedarray/testInstantiate (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 48 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=32 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 34 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 38 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) local.get $1 - i32.store offset=4 local.get $0 - local.get $1 i32.load offset=8 - i32.ne + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 39 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1239 + i32.const 64 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.load offset=4 local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 - local.get $1 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 47 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 + f64.mul + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 1 + i32.const 24 i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 + i32.const 24 + i32.shr_s + i32.const 2 + i32.gt_s + ) + (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 + i32.const 20 + i32.sub + local.tee $2 i32.load + i32.const -4 + i32.and + i32.const 16 i32.sub + i32.le_u if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.get $0 - i32.const 1 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 53 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $1 + i32.store offset=16 + local.get $0 + return end - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + local.get $2 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $3 local.get $0 local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=16 + local.tee $0 local.get $0 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store offset=24 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 57 - i32.const 3 - call $~lib/builtins/abort - unreachable - end local.get $1 - i32.load offset=8 + i32.gt_u + select + call $~lib/memory/memory.copy + local.get $3 + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const 255 + i32.and i32.const 2 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.load offset=8 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 59 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 62 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 + i32.const 65535 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.load offset=8 i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 64 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 + i64.const 2 + i64.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 3 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i64.const 2 + i64.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + f32.const 2 + f32.gt + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store offset=36 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 72 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 + f64.const 2 + f64.gt + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 3 - i32.shl - i32.ne - if + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int8Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_s + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 73 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ne - if + i32.const 255 + i32.and + i32.eqz + ) + (func $~lib/typedarray/Uint8Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_u + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 74 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store offset=40 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int16Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 77 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $1 - i32.load offset=8 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 2 - i32.shl - i32.ne - if + i32.const 65535 + i32.and + i32.eqz + ) + (func $~lib/typedarray/Uint16Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 78 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.load offset=8 i32.const 2 - i32.shr_u - i32.ne - if + i32.eq + ) + (func $~lib/typedarray/Int32Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 79 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store offset=44 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if + i32.eqz + ) + (func $~lib/typedarray/Uint32Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 82 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $1 - i32.load offset=8 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 3 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 83 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Int64Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ne - if + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.const 1568 - i32.const 84 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 48 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.eqz + ) + (func $~lib/typedarray/Uint64Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 0 + (local $5 i64) + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i32.lt_s - select - end - local.set $0 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 - local.get $3 - i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.load offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $2 - local.get $0 - local.get $0 - local.get $2 - i32.lt_s - select + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + f32.const 2 + f32.eq ) - (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 0 + (local $5 f32) + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i32.lt_s - select - end - local.set $0 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 - local.get $3 - i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.load offset=4 - local.get $0 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $2 - local.get $0 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $2 - i32.lt_s - select + f32.const 0 + f32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + f64.const 2 + f64.eq ) - (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) + (local $4 i32) (local $5 f64) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - block $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u - local.tee $7 - i32.const 1 - i32.le_u - br_if $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $7 - i32.const 2 - i32.eq - if - local.get $3 - f64.load offset=8 - local.set $4 - local.get $3 - f64.load - local.set $5 - i32.const 2 - global.set $~argumentsLength + local.set $4 + loop $for-loop|0 + local.get $2 local.get $4 - local.get $5 - local.get $1 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 i32.lt_s if local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 1 local.get $5 - f64.store offset=8 - local.get $3 - local.get $4 - f64.store - end - br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $7 - i32.const 256 - i32.lt_u - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - local.set $2 - loop $for-loop|0 - local.get $6 - local.get $7 - i32.lt_s - if - local.get $3 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $4 - local.get $6 - i32.const 1 - i32.sub - local.set $1 - loop $while-continue|1 - local.get $1 - i32.const 0 - i32.ge_s - if - block $while-break|1 - local.get $3 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $4 - local.get $5 - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.ge_s - br_if $while-break|1 - local.get $1 - local.tee $0 - i32.const 1 - i32.sub - local.set $1 - local.get $3 - local.get $0 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store - br $while-continue|1 - end - end - end - local.get $3 - local.get $1 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $4 - f64.store - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - else - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $3 - local.get $7 - local.get $1 - call $~lib/util/sort/weakHeapSort end + i32.const 0 end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 0 + f64.eq + ) + (func $~lib/typedarray/Int8Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store local.get $0 i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.set $3 local.get $0 i32.load offset=8 local.set $4 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select - end - local.tee $0 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $3 - local.get $4 - local.get $3 - local.get $4 - i32.lt_s - select - end - local.tee $2 - i32.lt_s - if - local.get $0 - local.get $5 - i32.add - local.get $1 - local.get $2 - local.get $0 - i32.sub - call $~lib/memory/memory.fill + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_s + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/isInt8ArrayEqual (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + (local $5 i32) local.get $0 - i32.store + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner0 - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - local.set $4 + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 loop $for-loop|0 local.get $2 local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Int8Array#__get - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store local.get $2 - local.get $1 - i32.load offset=12 - i32.ge_u - if - i32.const 1360 - i32.const 1760 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $3 + i32.add + i32.load8_u + i32.const 3 + global.set $~argumentsLength local.get $2 + local.get $0 local.get $1 - i32.load offset=4 - i32.add - i32.load8_s - i32.ne - br_if $folding-inner0 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 local.get $2 i32.const 1 i32.add @@ -7392,276 +5560,141 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 ) - (func $~lib/typedarray/Int8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + (local $5 i32) local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 + i32.const 1 + i32.shr_u local.set $4 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i32.lt_s - select - end - local.set $0 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 - local.get $3 - i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $0 - local.get $3 - i32.load offset=4 - i32.add - i32.store offset=4 - local.get $1 - local.get $2 - local.get $0 - local.get $0 local.get $2 - i32.lt_s - select + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.sub - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + i32.const 65535 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int32Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (func $~lib/typedarray/Uint16Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $1 - local.set $4 local.get $0 i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + local.set $3 local.get $0 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $1 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $1 - local.get $1 - local.get $2 - i32.gt_s - select - end - local.set $0 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $3 - local.get $1 - local.get $1 - local.get $3 - i32.gt_s - select - end - local.set $1 - loop $for-loop|0 - local.get $0 - local.get $1 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + loop $for-loop|0 + local.get $2 local.get $4 - i32.store - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/isInt32ArrayEqual (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer + (local $5 i32) local.get $0 - i32.store + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - block $folding-inner0 - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 loop $for-loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 + local.get $3 local.get $2 - call $~lib/typedarray/Int32Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength local.get $2 - call $~lib/array/Array#__get - local.get $4 - i32.ne - br_if $folding-inner0 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 local.get $2 i32.const 1 i32.add @@ -7669,1346 +5702,1409 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 + i32.eq ) - (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select - end - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.lt_s - select + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=8 - local.get $3 - i32.load offset=4 - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add local.get $2 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Int32Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Int64Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + (local $5 i64) local.get $0 - i32.store offset=4 - local.get $3 + i32.load offset=4 + local.set $3 local.get $0 i32.load offset=8 - i32.const 2 + i32.const 3 i32.shr_u - local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $5 - local.get $0 - local.tee $3 - i32.load offset=4 - local.tee $6 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 - i32.lt_s - select + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - local.tee $1 - i32.const 2 - i32.shl - i32.add - local.get $6 local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $4 - i32.add - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select - end - local.tee $0 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $4 - local.get $5 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $5 - local.get $4 - local.get $4 - local.get $5 - i32.gt_s - select - end - local.get $0 - i32.sub - local.tee $2 - local.get $4 - local.get $1 - i32.sub - local.tee $0 + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $2 - i32.gt_s - select - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + i64.const 4 + i64.eq ) - (func $~lib/typedarray/Uint8Array#reduce (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + (local $5 i64) local.get $0 i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + local.set $3 local.get $0 i32.load offset=8 - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if + i32.const 3 + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + loop $for-loop|0 local.get $2 local.get $4 - i32.add - i32.load8_u - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 ) - (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Float32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $3 local.get $0 + i32.load offset=8 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.store offset=4 + f32.const 4 + f32.eq + ) + (func $~lib/typedarray/Float64Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) local.get $0 - i32.const -1 - call $~lib/typedarray/Int8Array#at + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $4 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.store offset=4 + f64.const 4 + f64.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Int8Array#at + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.and + i32.eqz ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint8Array#at - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + (func $~lib/typedarray/Int8Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_s + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Uint8Array#at i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.and + i32.eqz + ) + (func $~lib/typedarray/Uint8Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_u + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#at + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.and + i32.eqz + ) + (func $~lib/typedarray/Int16Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + ) + (func $~lib/typedarray/Uint16Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + (func $~lib/typedarray/Int32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int16Array#at - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + ) + (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Int16Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i64.const 1 + i64.and + i64.eqz ) - (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 + (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint16Array#at - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 + ) + (func $~lib/typedarray/Uint64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + ) + (func $~lib/math/NativeMathf.mod (param $0 f32) (result f32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Uint16Array#at - i32.const 1 - i32.ne + i32.reinterpret_f32 + local.tee $1 + i32.const -2147483648 + i32.and + local.set $4 + local.get $1 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.tee $2 + i32.const 255 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $0 + f32.add + local.tee $0 + local.get $0 + f32.div + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#at + local.get $1 i32.const 1 - i32.ne + i32.shl + local.tee $3 + i32.const -2147483648 + i32.le_u if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $3 + i32.const -2147483648 + i32.ne + f32.convert_i32_u + f32.mul + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int32Array#at - i32.const 3 - i32.ne - if + local.get $2 + if (result i32) + local.get $1 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + else + local.get $1 + i32.const 1 + local.get $2 + local.get $1 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.tee $2 + i32.sub + i32.shl + end + local.set $1 + block $folding-inner0 + loop $while-continue|0 + local.get $2 + i32.const 128 + i32.gt_s + if + local.get $1 + i32.const 8388608 + i32.ge_u + if (result i32) + local.get $1 + i32.const 8388608 + i32.eq + br_if $folding-inner0 + local.get $1 + i32.const 8388608 + i32.sub + else + local.get $1 + end + i32.const 1 + i32.shl + local.set $1 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + local.get $1 + i32.const 8388608 + i32.ge_u + if + local.get $1 + i32.const 8388608 + i32.eq + br_if $folding-inner0 + local.get $1 + i32.const 8388608 + i32.sub + local.set $1 + end + local.get $1 + local.get $1 + i32.const 8 + i32.shl + i32.clz + local.tee $3 + i32.shl + local.set $1 + local.get $2 + local.get $3 + i32.sub + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.gt_s + if (result i32) + local.get $1 + i32.const 8388608 + i32.sub + local.get $2 + i32.const 23 + i32.shl + i32.or + else + local.get $1 + i32.const 1 + local.get $2 + i32.sub + i32.shr_u + end + local.get $4 + i32.or + f32.reinterpret_i32 + return end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + f32.const 0 + f32.mul + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Int32Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/math/NativeMathf.mod + f32.const 0 + f32.eq + ) + (func $~lib/typedarray/Float32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + (func $~lib/math/NativeMath.mod (param $0 f64) (result f64) + (local $1 i64) + (local $2 i64) + (local $3 i64) + (local $4 i64) local.get $0 - i32.const 0 - call $~lib/typedarray/Uint32Array#at - i32.const 1 - i32.ne + i64.reinterpret_f64 + local.tee $1 + i64.const 63 + i64.shr_u + local.set $4 + local.get $1 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.tee $2 + i64.const 2047 + i64.eq if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $0 + f64.add + local.tee $0 + local.get $0 + f64.div + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint32Array#at - i32.const 3 - i32.ne + local.get $1 + i64.const 1 + i64.shl + local.tee $3 + i64.const -9223372036854775808 + i64.le_u if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i64.const -9223372036854775808 + i64.ne + f64.convert_i32_u + f64.mul + return + end + local.get $2 + i64.eqz + if (result i64) + local.get $1 + i64.const 1 + local.get $2 + local.get $1 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.tee $2 + i64.sub + i64.shl + else + local.get $1 + i64.const 4503599627370495 + i64.and + i64.const 4503599627370496 + i64.or + end + local.set $1 + block $folding-inner0 + loop $while-continue|0 + local.get $2 + i64.const 1024 + i64.gt_s + if + local.get $1 + i64.const 4503599627370496 + i64.ge_u + if (result i64) + local.get $1 + i64.const 4503599627370496 + i64.eq + br_if $folding-inner0 + local.get $1 + i64.const 4503599627370496 + i64.sub + else + local.get $1 + end + i64.const 1 + i64.shl + local.set $1 + local.get $2 + i64.const 1 + i64.sub + local.set $2 + br $while-continue|0 + end + end + local.get $1 + i64.const 4503599627370496 + i64.ge_u + if + local.get $1 + i64.const 4503599627370496 + i64.eq + br_if $folding-inner0 + local.get $1 + i64.const 4503599627370496 + i64.sub + local.set $1 + end + local.get $1 + local.get $1 + i64.const 11 + i64.shl + i64.clz + local.tee $3 + i64.shl + local.set $1 + local.get $2 + local.get $3 + i64.sub + local.tee $2 + i64.const 0 + i64.gt_s + if (result i64) + local.get $1 + i64.const 4503599627370496 + i64.sub + local.get $2 + i64.const 52 + i64.shl + i64.or + else + local.get $1 + i64.const 1 + local.get $2 + i64.sub + i64.shr_u + end + local.get $4 + i64.const 63 + i64.shl + i64.or + f64.reinterpret_i64 + return + end local.get $0 - i32.store offset=4 + f64.const 0 + f64.mul + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const -3 - call $~lib/typedarray/Uint32Array#at - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 + call $~lib/math/NativeMath.mod + f64.const 0 + f64.eq + ) + (func $~lib/typedarray/Float64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f64) + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $5 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Uint8Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $3 local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + i32.load8_u + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Int8Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 + i32.load offset=8 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $2 + local.get $4 + i32.add + local.tee $3 + i32.load8_s + local.set $5 + local.get $3 + local.get $0 + local.get $4 + i32.add + local.tee $3 + i32.load8_s + i32.store8 + local.get $3 + local.get $5 + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Uint8Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 - i32.const -1 - call $~lib/typedarray/Int64Array#at - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.load offset=8 + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $2 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + local.set $5 + local.get $3 + local.get $0 + local.get $4 + i32.add + local.tee $3 + i32.load8_u + i32.store8 + local.get $3 + local.get $5 + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Int16Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 - i32.const -3 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_s + local.set $5 + local.get $3 + local.get $4 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_s + i32.store16 + local.get $3 + local.get $5 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Uint16Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 + i32.load offset=8 i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer + i32.shr_u + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_u + local.set $5 + local.get $3 + local.get $4 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_u + i32.store16 + local.get $3 + local.get $5 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end + end + local.get $1 + ) + (func $~lib/typedarray/Int32Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 + i32.load offset=8 i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint64Array#at - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + i32.shr_u i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Float32Array#at - f32.const 3 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -3 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - call $~lib/typedarray/Float64Array#at - f64.const 3 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -3 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load + local.set $5 + local.get $3 + local.get $4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load + i32.store + local.get $3 + local.get $5 + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#reduceRight (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#reverse (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $0 + local.tee $1 i32.load offset=4 local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $2 - i32.store offset=8 local.get $0 i32.load offset=8 + i32.const 2 + i32.shr_u i32.const 1 i32.sub local.set $0 loop $for-loop|0 local.get $0 - i32.const 0 - i32.ge_s + local.get $2 + i32.gt_u if - local.get $0 local.get $4 + local.get $2 + i32.const 2 + i32.shl i32.add - i32.load8_u + local.tee $3 + i32.load local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength local.get $3 - local.get $5 + local.get $4 local.get $0 - local.get $2 - local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $3 i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 + i32.store + local.get $3 + local.get $5 + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 local.get $0 i32.const 1 i32.sub @@ -9016,315 +7112,372 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $1 ) - (func $~lib/typedarray/Int8Array#map (param $0 i32) (result i32) + (func $~lib/typedarray/Int64Array#reverse (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + (local $5 i64) local.get $0 - i32.load offset=8 + local.tee $1 + i32.load offset=4 local.set $4 local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.load offset=8 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=16 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 loop $for-loop|0 + local.get $0 local.get $2 - local.get $4 - i32.lt_s + i32.gt_u if + local.get $4 local.get $2 - local.get $5 + i32.const 3 + i32.shl i32.add - i32.load8_s - local.set $6 - global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.load + local.set $5 + local.get $3 + local.get $4 local.get $0 - i32.store offset=20 i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 + i32.shl i32.add - local.get $6 - local.get $2 - local.get $0 - i32.const 3600 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 + local.tee $3 + i64.load + i64.store + local.get $3 + local.get $5 + i64.store local.get $2 i32.const 1 i32.add local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 br $for-loop|0 end end local.get $1 - local.get $3 - i32.store - local.get $1 - local.get $3 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Uint64Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.tee $3 + i64.load + local.set $5 + local.get $3 + local.get $4 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.tee $3 + i64.load + i64.store + local.get $3 + local.get $5 + i64.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end + end + local.get $1 + ) + (func $~lib/typedarray/Float32Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) local.get $0 - i32.store offset=4 + local.tee $1 + i32.load offset=4 + local.set $4 local.get $0 + i32.load offset=8 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int8Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + i32.shr_u i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.sub + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_u + if + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load + local.set $5 + local.get $3 + local.get $4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load + f32.store + local.get $3 + local.get $5 + f32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#map (param $0 i32) (result i32) + (func $~lib/typedarray/Float64Array#reverse (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + (local $5 f64) local.get $0 - i32.load offset=8 + local.tee $1 + i32.load offset=4 local.set $4 local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=16 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $0 loop $for-loop|0 + local.get $0 local.get $2 - local.get $4 - i32.lt_s + i32.gt_u if + local.get $4 local.get $2 - local.get $5 + i32.const 3 + i32.shl i32.add - i32.load8_u - local.set $6 - global.get $~lib/memory/__stack_pointer + local.tee $3 + f64.load + local.set $5 + local.get $3 + local.get $4 local.get $0 - i32.store offset=20 i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 + i32.shl i32.add - local.get $6 - local.get $2 - local.get $0 - i32.const 3632 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 + local.tee $3 + f64.load + f64.store + local.get $3 + local.get $5 + f64.store local.get $2 i32.const 1 i32.add local.set $2 + local.get $0 + i32.const 1 + i32.sub + local.set $0 br $for-loop|0 end end local.get $1 + ) + (func $~lib/typedarray/Int8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + local.tee $4 + i32.ge_s + i32.const 1 + local.get $4 + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.tee $3 + local.get $0 + i32.add + i32.load8_u + local.get $1 + i32.const 255 + i32.and + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $3 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end local.get $3 - i32.store - local.get $1 - local.get $3 - call $~lib/rt/itcms/__link - local.get $1 + ) + (func $~lib/typedarray/Int8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $0 + i32.load offset=8 + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $2 + local.tee $3 + local.get $0 + i32.add + i32.load8_u + local.get $1 + i32.const 255 + i32.and + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=8 + local.set $2 + end + local.get $0 local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#lastIndexOf ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -9332,521 +7485,436 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 + call $~lib/typedarray/Int8Array#indexOf i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - call $~lib/typedarray/Uint8Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get i32.const 1 + i32.const 10 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.ne + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=16 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $5 - i32.add - i32.load8_u - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 - i32.add - local.get $6 - local.get $2 - local.get $0 - i32.const 3664 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.const 11 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $3 - i32.store - local.get $1 - local.get $3 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + global.set $~argumentsLength local.get $0 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + global.set $~argumentsLength local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 i32.const 1 - i32.shr_u - local.set $4 - local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 + i32.const 100 + call $~lib/typedarray/Int8Array#lastIndexOf i32.const 1 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 1 - i32.shl - local.tee $7 - i32.add - i32.load16_s - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3696 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - call $~lib/typedarray/Int16Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 5 i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 9 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#map (param $0 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -9854,632 +7922,433 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store offset=4 loop $for-loop|0 - local.get $3 - local.get $4 + local.get $1 + local.get $2 i32.lt_s if - local.get $5 - local.get $3 - i32.const 1 - i32.shl - local.tee $7 - i32.add - i32.load16_u - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 local.get $0 - i32.const 3728 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $3 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|0 end end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 + call $~lib/typedarray/Int8Array#indexOf i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint16Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get + i32.const 3 i32.const 4 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3760 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 2 - i32.shl - local.tee $7 - i32.add - i32.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3760 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + global.set $~argumentsLength local.get $0 + i32.const 11 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3760 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - call $~lib/typedarray/Int32Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int8Array#lastIndexOf i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 4 + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get i32.const 9 + call $~lib/typedarray/Uint8Array#subarray + local.tee $0 + i32.store offset=8 + local.get $0 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3792 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl - local.tee $6 + i32.const 4 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 2 - i32.shl - local.tee $7 - i32.add - i32.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3792 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 5 i32.const 0 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3792 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint32Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 5 i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#map (param $0 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -10487,733 +8356,581 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 3824 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store offset=4 loop $for-loop|0 - local.get $3 - local.get $4 + local.get $1 + local.get $2 i32.lt_s if - local.get $5 - local.get $3 - i32.const 3 - i32.shl - local.tee $7 - i32.add - i64.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 local.get $0 - i32.const 3824 - i32.load - call_indirect (type $i64_i32_i32_=>_i64) - i64.store - local.get $3 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|0 end end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3824 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int64Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 9 - i64.ne + i32.const 11 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store offset=8 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u - local.set $4 - local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const 3 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 3 - i32.shl - local.tee $7 - i32.add - i64.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3856 - i32.load - call_indirect (type $i64_i32_i32_=>_i64) - i64.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint64Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne + i32.const 100 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 9 - i64.ne + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store offset=4 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.tee $0 i32.store offset=8 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl - local.tee $6 + i32.const 3 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 2 - i32.shl - local.tee $7 - i32.add - f32.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3888 - i32.load - call_indirect (type $f32_i32_i32_=>_f32) - f32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 4 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float32Array#map - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 5 i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.ne + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#map (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3920 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - local.get $0 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - local.tee $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=16 - loop $for-loop|0 - local.get $3 + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 local.get $4 + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 + i32.const 0 i32.lt_s if - local.get $5 - local.get $3 - i32.const 3 - i32.shl - local.tee $7 - i32.add - f64.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength local.get $2 - local.get $7 - i32.add - local.get $8 - local.get $3 - local.get $0 - i32.const 3920 - i32.load - call_indirect (type $f64_i32_i32_=>_f64) - f64.store - local.get $3 - i32.const 1 + local.get $4 i32.add - local.set $3 - br $for-loop|0 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $1 + i32.const 65535 + i32.and + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $3 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 + end end + i32.const -1 + local.set $3 end + local.get $3 + ) + (func $~lib/typedarray/Int16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $2 + local.tee $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $1 + i32.const 65535 + i32.and + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end + local.get $3 + ) + (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $2 + end + local.get $0 local.get $1 local.get $2 - i32.store - local.get $1 - local.get $2 - call $~lib/rt/itcms/__link - local.get $1 - local.get $2 - i32.store offset=4 - local.get $1 - local.get $6 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + call $~lib/typedarray/Int16Array#lastIndexOf ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -11221,622 +8938,435 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3920 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float64Array#map + i32.const 7024 + i32.store + i32.const 7036 + i32.load local.tee $0 - i32.store offset=12 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end local.get $0 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf if i32.const 0 i32.const 1568 - i32.const 388 + i32.const 580 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 389 + i32.const 581 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 9 - f64.ne + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 390 + i32.const 582 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3952 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $7 - i32.add - i32.load8_s - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $3 - local.get $0 - i32.const 3952 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $1 - local.get $5 - i32.add - local.get $6 - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.get $5 - local.get $1 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $1 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3952 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int8Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 583 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - call $~lib/typedarray/Int8Array#__get + i32.const 3 i32.const 4 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 5 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3984 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $7 - i32.add - i32.load8_u - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $3 - local.get $0 - i32.const 3984 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $1 - local.get $5 - i32.add - local.get $6 - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int16Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.get $5 - local.get $1 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $1 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const 11 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 + i32.const -1 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3984 - i32.store offset=8 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Uint8Array#filter + i32.const 9 + call $~lib/typedarray/Int16Array#subarray local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 + i32.store offset=8 local.get $0 - i32.load - i32.sub + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 - i32.const 3 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get i32.const 5 + i32.const 2 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#filter (param $0 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -11844,640 +9374,577 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 + i32.const 7024 + i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 local.get $0 - i32.load offset=4 - local.set $7 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store offset=4 loop $for-loop|0 - local.get $3 - local.get $4 + local.get $1 + local.get $2 i32.lt_s if - local.get $3 - local.get $7 - i32.add - i32.load8_u - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $3 local.get $0 - i32.const 4016 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $1 - local.get $5 - i32.add - local.get $6 - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $3 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 br $for-loop|0 end end - local.get $2 - local.get $5 - local.get $1 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $1 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 583 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#indexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 i32.const 4 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4048 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const -100 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $7 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $4 - local.get $0 - i32.const 4048 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.get $5 - local.get $1 i32.const 1 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $3 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + global.set $~argumentsLength local.get $0 i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + global.set $~argumentsLength local.get $0 + i32.const 11 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const -1 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4048 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int16Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load - i32.sub + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 i32.const 1 - i32.shr_u - i32.const 3 + i32.const -11 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 9 + call $~lib/typedarray/Uint16Array#subarray + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#__get i32.const 3 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 5 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=8 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + i32.const 5 i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 + i32.const 5 + i32.const 2 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 local.get $4 - i32.gt_s + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s if - local.get $7 + local.get $2 local.get $4 - i32.const 1 - i32.shl i32.add - i32.load16_u - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 local.get $4 - local.get $0 - i32.const 4080 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) + i32.lt_s if - local.get $5 local.get $1 - i32.const 1 + local.get $0 + local.get $2 + local.tee $3 + i32.const 2 i32.shl i32.add - local.get $6 - i32.store16 - local.get $1 + i32.load + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $2 + br $while-continue|0 end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 end + i32.const -1 + local.set $3 end - local.get $2 - local.get $5 - local.get $1 - i32.const 1 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 local.get $3 - i32.store offset=8 - local.get $2 + ) + (func $~lib/typedarray/Int32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $1 + local.get $0 + local.get $2 + local.tee $3 + i32.const 2 + i32.shl + i32.add + i32.load + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end + local.get $3 + ) + (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 local.get $2 + call $~lib/typedarray/Int32Array#lastIndexOf ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12485,809 +9952,576 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end local.get $0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 + call $~lib/typedarray/Int32Array#indexOf i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint16Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 i32.const 1 - i32.shr_u - i32.const 3 + i32.const 10 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int32Array#indexOf + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 1 + global.set $~argumentsLength local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 + global.set $~argumentsLength + local.get $0 + i32.const 11 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i32.const -1 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 + i32.const 3 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4112 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 2 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $7 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $4 - local.get $0 - i32.const 4112 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - local.get $2 - local.get $5 - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $3 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4112 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int32Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int32Array#lastIndexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get i32.const 3 + i32.const 2 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 4 + i32.const 100 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 5 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store offset=4 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.const 9 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 2 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $7 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $4 - local.get $0 - i32.const 4144 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - local.get $2 - local.get $5 - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew + call $~lib/typedarray/Int32Array#subarray local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $3 i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 3 i32.const 4 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint32Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 3 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int32Array#indexOf i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get i32.const 5 + i32.const 2 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i64) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4176 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.const -1 local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 3 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 local.get $4 - i32.gt_s + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s if - local.get $7 + local.get $2 local.get $4 - i32.const 3 - i32.shl i32.add - i64.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 local.get $4 - local.get $0 - i32.const 4176 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) + i32.lt_s if - local.get $5 local.get $1 - i32.const 3 + local.get $0 + local.get $2 + local.tee $3 + i32.const 2 i32.shl i32.add - local.get $6 - i64.store - local.get $1 + i32.load + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $2 + br $while-continue|0 end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 end + i32.const -1 + local.set $3 end - local.get $2 - local.get $5 - local.get $1 - i32.const 3 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 local.get $3 - i32.store offset=8 - local.get $2 + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $1 + local.get $0 + local.get $2 + local.tee $3 + i32.const 2 + i32.shl + i32.add + i32.load + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end + local.get $3 + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 local.get $2 + call $~lib/typedarray/Uint32Array#lastIndexOf ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -13295,809 +10529,575 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end local.get $0 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 3 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + call $~lib/typedarray/Uint32Array#indexOf i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4176 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int64Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u + i32.const 3 + call $~lib/typedarray/Uint32Array#indexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne + i32.const 10 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.ne + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i64) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4208 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 11 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store offset=8 + i32.const -1 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs i32.const 3 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $7 - local.get $4 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $4 - local.get $0 - i32.const 4208 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - local.get $5 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $6 - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end - local.get $2 - local.get $5 - local.get $1 i32.const 3 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $3 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint32Array#lastIndexOf i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4208 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint64Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u + i32.const 3 + call $~lib/typedarray/Uint32Array#lastIndexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne + i32.const 3 + i32.const 2 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne + i32.const 100 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne + i32.const 1 + i32.const -10 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store offset=4 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 9 + call $~lib/typedarray/Uint32Array#subarray + local.tee $0 i32.store offset=8 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 2 - i32.shl + i32.const 3 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.gt_s - if - local.get $7 - local.get $4 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $4 - local.get $0 - i32.const 4240 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $6 - f32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.get $5 - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $3 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 4 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/typedarray/Uint32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 5 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float32Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 3 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 10 i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.const 5 i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne + call $~lib/typedarray/Uint32Array#indexOf + i32.const 1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 5 i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.ne + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#filter (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 f64) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4272 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.const -1 local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 3 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=16 - local.get $0 - i32.load offset=4 - local.set $7 - loop $for-loop|0 - local.get $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 local.get $4 - i32.gt_s + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s if - local.get $7 + local.get $2 local.get $4 - i32.const 3 - i32.shl i32.add - f64.load - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=20 - i32.const 3 - global.set $~argumentsLength - local.get $6 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 local.get $4 - local.get $0 - i32.const 4272 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) + i32.lt_s if - local.get $5 local.get $1 + local.get $0 + local.get $2 + local.tee $3 i32.const 3 i32.shl i32.add - local.get $6 - f64.store - local.get $1 + i64.load + i64.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $2 + br $while-continue|0 end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 end + i32.const -1 + local.set $3 end - local.get $2 - local.get $5 - local.get $1 - i32.const 3 - i32.shl - local.tee $3 - call $~lib/rt/itcms/__renew - local.tee $0 - i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 local.get $3 - i32.store offset=8 - local.get $2 + ) + (func $~lib/typedarray/Int64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $1 + local.get $0 + local.get $2 + local.tee $3 + i32.const 3 + i32.shl + i32.add + i64.load + i64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $3 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + local.set $3 + end + local.get $3 + ) + (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 local.get $2 + call $~lib/typedarray/Int64Array#lastIndexOf ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -14105,514 +11105,576 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end local.get $0 + i64.const 0 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer + i64.const -1 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i64.const 3 i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i64.const 3 i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 5 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer + i64.const 1 + i32.const 10 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4272 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i64.const 1 + i32.const -100 + call $~lib/typedarray/Int64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - call $~lib/typedarray/Float64Array#filter - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i64.const 0 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store offset=4 + i64.const 11 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=4 + i64.const -1 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load - i32.sub + i64.const 3 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 413 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + i64.const 3 i32.const 3 - i32.shr_u + call $~lib/typedarray/Int64Array#lastIndexOf i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 414 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.ne + i64.const 3 + i32.const 2 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 415 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i64.const 1 + i32.const 100 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 + i64.const 1 + i32.const -10 + call $~lib/typedarray/Int64Array#lastIndexOf i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne + i32.ne if i32.const 0 i32.const 1568 - i32.const 416 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const -11 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 9 + call $~lib/typedarray/Int64Array#subarray + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.ne + i64.const 3 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 417 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - i32.load8_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $0 + i64.const 4 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 9 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 10 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 1 + call $~lib/typedarray/Int64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 2 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 local.get $0 i32.load offset=8 - local.set $4 - loop $for-loop|0 + i32.const 3 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 + local.get $4 + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s + if local.get $2 local.get $4 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - i32.load8_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $0 i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|0 + local.set $0 + loop $while-continue|0 local.get $2 local.get $4 i32.lt_s if - local.get $3 + local.get $1 + local.get $0 local.get $2 - i32.const 1 + local.tee $3 + i32.const 3 i32.shl i32.add - i32.load16_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 - drop - local.get $2 + i64.load + i64.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $3 i32.const 1 i32.add local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 0 + i32.const -1 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Uint16Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 local.get $0 i32.load offset=8 - i32.const 1 + i32.const 3 i32.shr_u - local.set $4 - loop $for-loop|0 + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 local.get $2 - local.get $4 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $3 + local.get $1 + local.get $0 local.get $2 - i32.const 1 + local.tee $3 + i32.const 3 i32.shl i32.add - i32.load16_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 - drop - local.get $2 + i64.load + i64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $3 i32.const 1 - i32.add + i32.sub local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 0 + i32.const -1 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Int32Array#some (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $2 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint64Array#lastIndexOf ) - (func $~lib/typedarray/Uint32Array#some (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -14620,437 +11682,576 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 7024 + i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store offset=4 + loop $for-loop|0 local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + local.get $0 + i64.const 0 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const -1 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 2 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const 10 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const -100 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + i64.const 0 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + i64.const 11 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + i64.const -1 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + i64.const 3 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 3 + i32.const 2 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const 100 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const -10 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 1 + i32.const -11 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 9 + call $~lib/typedarray/Uint64Array#subarray + local.tee $0 + i32.store offset=8 + local.get $0 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 4 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 9 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 10 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 1 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i64.const 5 + i32.const 2 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#indexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 local.get $0 i32.load offset=8 i32.const 2 i32.shr_u - local.set $4 - loop $for-loop|0 + local.tee $4 + i32.ge_s + i32.const 1 + local.get $4 + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 local.get $2 local.get $4 i32.lt_s if - local.get $3 + local.get $1 + local.get $0 local.get $2 + local.tee $3 i32.const 2 i32.shl i32.add - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $2 + f32.load + f32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $3 i32.const 1 i32.add local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 0 + i32.const -1 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Int64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#lastIndexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.const -1 + local.set $3 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $0 i32.load offset=8 - i32.const 3 + i32.const 2 i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.lt_s + select + local.set $2 local.get $0 i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - loop $for-loop|0 + local.set $0 + loop $while-continue|0 local.get $2 - local.get $4 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 + local.get $0 local.get $2 + local.tee $3 i32.const 2 i32.shl i32.add f32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if + f32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $2 i32.const 1 - i32.add + i32.sub local.set $2 - br $for-loop|0 + br $while-continue|0 end end - i32.const 0 + i32.const -1 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Int8Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (param $0 i32) (param $1 f32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - i32.load8_s - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const -1 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 local.get $2 + call $~lib/typedarray/Float32Array#lastIndexOf ) - (func $~lib/typedarray/Uint8Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -15058,283 +12259,576 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 7024 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 end - i32.const -1 - local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int16Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + f32.const 0 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer + f32.const 11 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=8 + f32.const -1 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + f32.const 3 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 2 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 3 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 4 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 1 + i32.const 10 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 1 + i32.const -100 + call $~lib/typedarray/Float32Array#indexOf i32.const 1 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + f32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + f32.const 11 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + f32.const -1 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + f32.const 3 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 4 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 3 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 3 + i32.const 2 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 1 + i32.const 100 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 1 + i32.const -10 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 1 + i32.const -11 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 9 + call $~lib/typedarray/Float32Array#subarray + local.tee $0 + i32.store offset=8 + local.get $0 + f32.const 3 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 4 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 5 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 9 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 10 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 11 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 5 + i32.const 1 + call $~lib/typedarray/Float32Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f32.const 5 + i32.const 2 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#indexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + i32.const -1 + local.set $3 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $4 + i32.ge_s + i32.const 1 + local.get $4 + select + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 local.get $2 local.get $4 i32.lt_s if - local.get $3 + local.get $1 + local.get $0 local.get $2 - i32.const 1 + local.tee $3 + i32.const 3 i32.shl i32.add - i32.load16_s - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $2 + f64.load + f64.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $3 i32.const 1 i32.add local.set $2 - br $for-loop|0 + br $while-continue|0 end end i32.const -1 - local.set $2 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) - (func $~lib/typedarray/Uint16Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array#lastIndexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 + i32.const -1 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $4 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $2 + local.get $4 + i32.add + local.get $4 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $4 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 local.get $2 - local.get $4 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $3 + local.get $1 + local.get $0 local.get $2 - i32.const 1 + local.tee $3 + i32.const 3 i32.shl i32.add - i32.load16_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $2 + f64.load + f64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $3 i32.const 1 - i32.add + i32.sub local.set $2 - br $for-loop|0 + br $while-continue|0 end end i32.const -1 - local.set $2 + local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 ) - (func $~lib/typedarray/Int32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (param $0 i32) (param $1 f64) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const -1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 local.get $2 + call $~lib/typedarray/Float64Array#lastIndexOf ) - (func $~lib/typedarray/Uint32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -15342,2145 +12836,2140 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 7024 i32.store + i32.const 7036 + i32.load + local.tee $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 7024 + local.get $1 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 end - i32.const -1 - local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + f64.const 0 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer + f64.const 11 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=8 + f64.const -1 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + f64.const 3 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf i32.const 3 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - local.set $2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + f64.const 3 + i32.const 2 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=8 + f64.const 3 i32.const 3 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - local.set $2 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Float32Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + f64.const 3 + i32.const 4 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer + f64.const 1 + i32.const 10 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=8 + f64.const 1 + i32.const -100 + call $~lib/typedarray/Float64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - local.set $2 + f64.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Float64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + f64.const 11 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load offset=4 - local.set $3 + f64.const -1 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + local.get $0 + f64.const 3 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 3 + i32.const 4 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 3 + i32.const 3 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 3 + i32.const 2 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 1 + i32.const 100 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 1 + i32.const -10 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 1 + i32.const -11 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Float64Array#subarray + local.tee $0 i32.store offset=8 local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - f64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - local.set $2 + f64.const 3 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 4 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 5 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 9 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 10 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 11 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 5 + i32.const 1 + call $~lib/typedarray/Float64Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + f64.const 5 + i32.const 2 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Int8Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + local.get $0 + i32.const 100 + i32.lt_u + select + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + local.get $0 + i32.const 10000000 + i32.lt_u + select + local.get $0 + i32.const 100000 + i32.lt_u + select + ) + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i32) (param $2 i32) + loop $do-continue|0 local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store16 + local.get $1 + i32.const 10 + i32.div_u + local.tee $1 + br_if $do-continue|0 + end + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.lt_s + local.tee $2 + if local.get $0 - i32.store offset=8 + i32.const 45 + i32.store16 + i32.const 0 + local.get $1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.lt_u + if local.get $0 - i32.load offset=8 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $3 - i32.add - i32.load8_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 48 + i32.or + i32.store16 + local.get $2 i32.const 1 + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $2 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.tee $2 + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $~lib/typedarray/Uint8Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 7 + i32.and local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - loop $for-loop|0 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 local.get $2 - local.get $4 - i32.lt_s if - local.get $2 local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 i32.add - i32.load8_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 + local.set $3 local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 - drop - local.get $2 - i32.const 1 + i32.const 2 i32.add - local.set $2 - br $for-loop|0 + local.set $1 + br $while-continue|1 end end - i32.const 1 + i32.const 0 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + i32.eqz ) - (func $~lib/typedarray/Int16Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 255 + i32.and + i32.const 10 + i32.lt_u + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 i32.const 1 + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 255 + i32.and + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $~lib/typedarray/Uint16Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.lt_s + local.tee $2 + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 45 + i32.store16 + i32.const 0 local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.sub + local.set $1 + end + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.lt_u + if local.get $0 - i32.load offset=8 + local.get $2 i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.shl + i32.add + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 48 + i32.or + i32.store16 + local.get $2 i32.const 1 + i32.add + return end - global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 16 + i32.shl i32.const 16 + i32.shr_s + local.tee $2 + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $~lib/typedarray/Int32Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#join (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 i32.const 1 + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 65535 + i32.and + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + local.get $1 ) - (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#join (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 0 + i32.lt_s + local.tee $2 + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 45 + i32.store16 + i32.const 0 local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.sub + local.set $1 + end + local.get $1 + i32.const 10 + i32.lt_u + if local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.or + i32.store16 + local.get $2 i32.const 1 + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount32 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $0 ) - (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Int32Array#join (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 10 + i32.lt_u + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.const 48 + i32.or + i32.store16 i32.const 1 + return end - global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount32 + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#join (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000 + i64.lt_u + select + local.get $0 + i64.const 10000000000000000 + i64.ge_u i32.const 16 i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 100000000000000000 + i64.lt_u + select + local.get $0 + i64.const 1000000000000000 + i64.lt_u + select ) - (func $~lib/typedarray/Uint64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + (func $~lib/util/number/utoa_dec_simple (param $0 i32) (param $1 i64) (param $2 i32) + loop $do-continue|0 local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $2 i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 10 + i64.rem_u + i32.wrap_i64 + i32.const 48 + i32.add + i32.store16 + local.get $1 + i64.const 10 + i64.div_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 f32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.get $1 i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + i64.lt_s + local.tee $2 + if local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 45 + i32.store16 + i64.const 0 local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i64.sub + local.set $1 + end + local.get $1 + i64.const 10 + i64.lt_u + if local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 48 + i64.or + i64.store16 + local.get $2 i32.const 1 + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + local.get $1 + i64.const 4294967295 + i64.le_u + if local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer + i32.wrap_i64 + local.tee $3 + call $~lib/util/number/decimalCount32 + local.get $2 + i32.add + local.set $2 local.get $0 - i32.store offset=8 + local.get $3 + local.get $2 + call $~lib/util/number/utoa_dec_simple + else local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $5 - local.get $2 - local.get $0 - local.get $1 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount64High + local.get $2 + i32.add + local.tee $2 + call $~lib/util/number/utoa_dec_simple end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store + (func $~lib/typedarray/Int64Array#join (param $0 i32) (result i32) local.get $0 - i32.const 255 - i32.and - i32.const 6448 + i32.load offset=4 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) local.get $1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne + i64.const 10 + i64.lt_u if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 + return end local.get $1 - global.get $std/typedarray/forEachCallCount - i32.ne + i64.const 4294967295 + i64.le_u if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.wrap_i64 + local.tee $3 + call $~lib/util/number/decimalCount32 + local.set $2 + local.get $0 + local.get $3 + local.get $2 + call $~lib/util/number/utoa_dec_simple + else + local.get $0 + local.get $1 + local.get $1 + call $~lib/util/number/decimalCount64High + local.tee $2 + call $~lib/util/number/utoa_dec_simple end local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6496 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6496 - i32.store offset=4 + (func $~lib/typedarray/Uint64Array#join (param $0 i32) (result i32) local.get $0 i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 i32.load offset=8 - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_s - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6496 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.shr_u + call $~lib/util/string/joinIntegerArray ) - (func $~lib/typedarray/Uint8Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) + (local $7 i64) + (local $8 i64) + (local $9 i32) + (local $10 i64) + (local $11 i32) + (local $12 i64) + (local $13 i64) + local.get $3 local.get $1 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s + i64.sub + local.set $8 + local.get $3 + i64.const 1 + i32.const 0 + local.get $4 + i32.sub + local.tee $11 + i64.extend_i32_s + i64.shl + local.tee $10 + i64.const 1 + i64.sub + local.tee $12 + i64.and + local.set $7 + local.get $3 + local.get $11 + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $9 + loop $while-continue|0 + local.get $9 + i32.const 0 + i32.gt_s if + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $9 + i32.const 1 + i32.sub + br_table $case9|1 $case8|1 $case7|1 $case6|1 $case5|1 $case4|1 $case3|1 $case2|1 $case1|1 $case0|1 $case10|1 + end + local.get $2 + i32.const 1000000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 100000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 10000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 1000000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100000 + i32.div_u + local.set $4 + local.get $2 + i32.const 100000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10000 + i32.div_u + local.set $4 + local.get $2 + i32.const 10000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 1000 + i32.div_u + local.set $4 + local.get $2 + i32.const 1000 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 100 + i32.div_u + local.set $4 + local.get $2 + i32.const 100 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + i32.const 10 + i32.div_u + local.set $4 + local.get $2 + i32.const 10 + i32.rem_u + local.set $2 + br $break|1 + end + local.get $2 + local.set $4 + i32.const 0 + local.set $2 + br $break|1 + end + i32.const 0 + local.set $4 + end + local.get $4 + local.get $6 + i32.or + if + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $4 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 + local.get $6 + i32.const 1 + i32.add + local.set $6 + end + local.get $9 + i32.const 1 + i32.sub + local.set $9 + local.get $5 + local.get $7 local.get $2 - local.get $3 - i32.add - i32.load8_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $2 + i64.extend_i32_u + local.get $11 + i64.extend_i32_s + i64.shl + i64.add + local.tee $1 + i64.ge_u + if + local.get $9 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $9 + i32.const 2 + i32.shl + i32.const 8576 + i32.add + i64.load32_u + local.get $11 + i64.extend_i32_s + i64.shl + local.set $10 + local.get $0 + local.get $6 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $2 + loop $while-continue|3 + i32.const 1 + local.get $8 + local.get $1 + i64.sub + local.get $1 + local.get $10 + i64.add + local.tee $3 + local.get $8 + i64.sub + i64.gt_u + local.get $3 + local.get $8 + i64.lt_u + select + i32.const 0 + local.get $10 + local.get $5 + local.get $1 + i64.sub + i64.le_u + i32.const 0 + local.get $1 + local.get $8 + i64.lt_u + select + select + if + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $10 + i64.add + local.set $1 + br $while-continue|3 + end + end + local.get $0 + local.get $2 + i32.store16 + local.get $6 + return + end + br $while-continue|0 + end + end + local.get $11 + i64.extend_i32_s + local.set $13 + loop $while-continue|4 (result i32) + local.get $5 + i64.const 10 + i64.mul + local.set $5 + local.get $7 + i64.const 10 + i64.mul + local.tee $3 + local.get $13 + i64.shr_u + local.tee $1 + local.get $6 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add local.get $1 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $2 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 + local.get $6 i32.const 1 i32.add - local.set $2 - br $for-loop|0 + local.set $6 end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6528 - i32.store offset=8 - local.get $0 - i32.const 6528 - call $~lib/typedarray/Uint8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6560 - i32.store offset=8 - local.get $0 - i32.const 6560 - call $~lib/typedarray/Uint8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - if + local.get $9 + i32.const 1 + i32.sub + local.set $9 + local.get $3 + local.get $12 + i64.and + local.tee $7 + local.get $5 + i64.ge_u + br_if $while-continue|4 + local.get $9 + global.get $~lib/util/number/_K + i32.add + global.set $~lib/util/number/_K + local.get $7 + local.set $1 + local.get $8 i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $9 + i32.sub + i32.const 2 + i32.shl + i32.const 8576 + i32.add + i64.load32_u + i64.mul + local.set $8 + local.get $0 + local.get $6 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u + local.set $2 + loop $while-continue|6 + i32.const 1 + local.get $8 + local.get $1 + i64.sub + local.get $1 + local.get $10 + i64.add + local.tee $3 + local.get $8 + i64.sub + i64.gt_u + local.get $3 + local.get $8 + i64.lt_u + select + i32.const 0 + local.get $10 + local.get $5 + local.get $1 + i64.sub + i64.le_u + i32.const 0 + local.get $1 + local.get $8 + i64.lt_u + select + select + if + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $10 + i64.add + local.set $1 + br $while-continue|6 + end + end + local.get $0 + local.get $2 + i32.store16 + local.get $6 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store - local.get $0 - i32.const 65535 - i32.and - i32.const 6448 - local.get $1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - i32.ne + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + local.get $2 + i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store + local.get $1 + i32.const 2 + i32.add + return end local.get $1 - global.get $std/typedarray/forEachCallCount - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 + local.tee $3 + i32.const 21 + i32.le_s i32.const 0 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6592 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6592 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 + local.get $1 + local.get $3 + i32.le_s + select + if (result i32) + loop $for-loop|0 local.get $1 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store + local.get $3 + i32.const 2 + i32.add + else + local.get $3 + i32.const 21 + i32.le_s + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + if (result i32) + local.get $0 + local.get $3 i32.const 1 i32.shl i32.add - i32.load16_s - global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2 + i32.add local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy local.get $0 - i32.const 6592 - i32.load - call_indirect (type $i32_i32_i32_=>_none) + i32.const 46 + i32.store16 local.get $1 i32.const 1 i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6624 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6624 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6624 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + else + local.get $3 + i32.const 0 + i32.le_s + i32.const 0 + local.get $3 + i32.const -6 + i32.gt_s + select + if (result i32) + local.get $0 + i32.const 2 + local.get $3 + i32.sub + local.tee $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 3014704 + i32.store + i32.const 2 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + local.get $1 + local.get $3 + i32.add + else + local.get $1 + i32.const 1 + i32.eq + if (result i32) + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $1 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $2 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $1 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 offset=4 + local.get $0 + i32.const 2 + i32.add + else + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $1 + i32.const 1 + i32.shl + local.tee $2 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + local.tee $2 + i32.const 4 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $3 + if + i32.const 0 + local.get $0 + i32.sub + local.set $0 + end + local.get $0 + local.get $0 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa_dec_simple + local.get $2 + i32.const 45 + i32.const 43 + local.get $3 + select + i32.store16 offset=4 + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.add + end + end end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store - i32.const 6448 + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $1 - call $~lib/array/Array#__get - local.get $0 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 - call $~lib/builtins/abort - unreachable + f64.const 0 + f64.lt + local.tee $9 + if (result f64) + local.get $0 + i32.const 45 + i32.store16 + local.get $1 + f64.neg + else + local.get $1 end - local.get $1 - global.get $std/typedarray/forEachCallCount + i64.reinterpret_f64 + local.tee $2 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $8 + i32.const 0 i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i64.extend_i32_u + i64.const 52 + i64.shl local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount + i64.const 4503599627370495 + i64.and + i64.add + local.tee $3 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $2 + local.get $2 + i64.clz + i32.wrap_i64 + local.tee $4 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus + local.get $8 + i32.const 1 + local.get $8 + select + i32.const 1075 + i32.sub + local.tee $8 + i32.const 1 + i32.sub + local.get $4 + i32.sub + local.set $4 + local.get $3 + local.get $3 + i64.const 4503599627370496 + i64.eq i32.const 1 i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $10 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $8 + local.get $10 + i32.sub + local.get $4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store - local.get $0 - i32.const 6448 - local.get $1 - call $~lib/array/Array#__get i64.extend_i32_s - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $4 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.tee $1 + i32.trunc_f64_s + local.tee $4 local.get $1 - global.get $std/typedarray/forEachCallCount - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 + local.get $4 + f64.convert_i32_s + f64.ne i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 3 + i32.shr_s + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 + i32.shl + local.tee $10 + i32.sub + global.set $~lib/util/number/_K + local.get $10 + i32.const 7704 + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + local.get $4 i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i32.shl + i32.const 8400 + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + global.get $~lib/util/number/_frc_pow + local.tee $6 + i64.const 4294967295 + i64.and + local.set $2 + local.get $6 + i64.const 32 + i64.shr_u + local.tee $6 + global.get $~lib/util/number/_frc_plus + local.tee $5 + i64.const 32 + i64.shr_u + local.tee $7 + i64.mul + local.get $2 + local.get $7 + i64.mul + local.get $2 + local.get $5 + i64.const 4294967295 + i64.and + local.tee $5 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $7 + i64.const 32 + i64.shr_u + i64.add + local.get $5 + local.get $6 + i64.mul + local.get $7 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.sub + local.set $5 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get + local.get $6 + local.get $3 + local.get $3 + i64.clz + i32.wrap_i64 + local.tee $0 i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + i64.shl + local.tee $3 + i64.const 32 + i64.shr_u + local.tee $7 + i64.mul + local.get $2 + local.get $7 + i64.mul + local.get $2 + local.get $3 + i64.const 4294967295 + i64.and + local.tee $3 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $7 + i64.const 32 + i64.shr_u + i64.add + local.get $3 + local.get $6 + i64.mul + local.get $7 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + global.get $~lib/util/number/_exp_pow + local.tee $4 + local.get $8 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6720 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.add + i32.const -64 + i32.sub + local.get $5 + local.get $4 + global.get $~lib/util/number/_exp + i32.add + i32.const -64 + i32.sub + local.get $5 + local.get $6 + global.get $~lib/util/number/_frc_minus + local.tee $3 + i64.const 32 + i64.shr_u + local.tee $5 + i64.mul + local.get $2 + local.get $5 + i64.mul + local.get $2 + local.get $3 + i64.const 4294967295 + i64.and + local.tee $2 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.tee $3 + i64.const 32 + i64.shr_u + i64.add + local.get $2 + local.get $6 + i64.mul + local.get $3 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + i64.const 1 + i64.add + i64.sub + local.get $9 + call $~lib/util/number/genDigits + local.get $9 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.get $9 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + local.get $1 + f64.const 0 + f64.eq + if + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + return + end + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if + local.get $1 + local.get $1 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 + local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + return + else + local.get $1 + f64.const 0 + f64.lt + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $2 + i32.const 8 + i32.add + return + end + unreachable + end local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6720 - i32.store offset=4 + local.get $1 + call $~lib/util/number/dtoa_core + ) + (func $~lib/typedarray/Float32Array#join (param $0 i32) (result i32) local.get $0 i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=8 + i32.load offset=8 + i32.const 2 + i32.shr_u + call $~lib/util/string/joinFloatArray + ) + (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) + local.get $0 + i32.load offset=4 local.get $0 i32.load offset=8 i32.const 3 i32.shr_u + call $~lib/util/string/joinFloatArray + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array.wrap + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 8860 + i32.load + local.get $0 + i32.load offset=8 + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.set $0 + i32.const 8852 + i32.load + local.set $2 + i32.const 8860 + i32.load local.set $3 loop $for-loop|0 local.get $1 local.get $3 i32.lt_s if + local.get $0 + local.get $1 + i32.add local.get $2 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6720 i32.load - call_indirect (type $i64_i32_i32_=>_none) + i32.store8 local.get $1 i32.const 1 i32.add @@ -17488,1324 +14977,1212 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount + ) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.load offset=8 + local.get $1 + i32.load offset=8 i32.const 3 - i32.ne + i32.shr_u + i32.const 6 + i32.add + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6752 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6752 - i32.store offset=4 local.get $0 i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 + i32.const 6 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0 local.get $1 - local.get $3 - i32.lt_s + local.get $2 + i32.gt_s if + local.get $0 + local.get $2 + i32.add + local.get $3 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add i64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6752 - i32.load - call_indirect (type $i64_i32_i32_=>_none) - local.get $1 + i64.store8 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store - local.get $0 - i32.const 6448 + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) local.get $1 - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end + local.get $0 + i32.load offset=4 local.get $1 - global.get $std/typedarray/forEachCallCount - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load offset=4 + local.get $1 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 f32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 local.get $0 + i32.load offset=8 + local.get $1 + i32.load offset=8 i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6784 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6784 - i32.store offset=4 + i32.shr_u + i32.const 4 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0 local.get $1 - local.get $3 - i32.lt_s + local.get $2 + i32.gt_s if + local.get $0 local.get $2 - local.get $1 - i32.const 2 + i32.add + local.get $3 + local.get $2 + i32.const 1 i32.shl i32.add - f32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6784 - i32.load - call_indirect (type $f32_i32_i32_=>_none) - local.get $1 + i32.load16_s + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) + local.get $0 + i32.load offset=8 + i32.const 9116 + i32.load + i32.const 7 i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $0 + i32.load offset=4 + i32.const 7 i32.add - global.set $~lib/memory/__stack_pointer + i32.const 9108 + i32.load + i32.const 9112 + i32.load + call $~lib/memory/memory.copy ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i64) + local.get $2 i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store - local.get $0 - i32.const 6448 - local.get $1 - call $~lib/array/Array#__get - f64.convert_i32_s - f64.ne + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 513 - i32.const 5 + i32.const 1360 + i32.const 1632 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end + local.get $0 + i32.load offset=8 + local.get $2 local.get $1 - global.get $std/typedarray/forEachCallCount - i32.ne + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.add + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 514 - i32.const 5 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6816 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6816 - i32.store offset=4 local.get $0 i32.load offset=4 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - local.set $3 + local.set $1 loop $for-loop|0 local.get $1 local.get $3 - i32.lt_s + i32.gt_s if + local.get $0 + local.get $3 + i32.add local.get $2 - local.get $1 + local.get $3 i32.const 3 i32.shl i32.add - f64.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6816 - i32.load - call_indirect (type $f64_i32_i32_=>_none) - local.get $1 + i64.load + local.tee $4 + i32.wrap_i64 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i64.extend_i32_s + local.get $4 + i32.const 255 + local.get $4 + i32.wrap_i64 + i32.sub + i32.const 31 + i32.shr_s + i64.extend_i32_s + i64.or + i64.and + i64.store8 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne + ) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $0 + i32.load offset=8 + local.get $2 + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $2 local.get $0 i32.load offset=4 + i32.add + local.set $2 + local.get $1 + i32.load offset=4 local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + local.get $1 i32.load offset=8 i32.const 1 - i32.sub - local.set $0 + i32.shr_u + local.set $1 loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u + local.get $1 + local.get $3 + i32.gt_s if local.get $2 - local.get $4 - i32.add - local.tee $3 - i32.load8_s - local.set $5 local.get $3 - local.get $0 - local.get $4 i32.add - local.tee $3 - i32.load8_s - i32.store8 + local.get $4 local.get $3 - local.get $5 - i32.store8 - local.get $2 i32.const 1 + i32.shl i32.add - local.set $2 + i32.load16_s + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $0 + i32.const 255 local.get $0 - i32.const 1 i32.sub - local.set $0 + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - (local $0 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 + i32.const 8860 i32.load - local.tee $2 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int8Array#constructor - local.tee $3 - i32.store offset=12 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.set $0 + i32.const 8852 + i32.load + local.set $2 + i32.const 8860 + i32.load + local.set $3 loop $for-loop|0 - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 local.get $0 - call $~lib/array/Array#__get - i32.const 24 + local.get $1 + i32.const 1 i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 24 + i32.add + local.get $2 + local.get $1 + i32.const 2 i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $0 + i32.add + i32.load + i32.store16 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 local.get $1 - i32.store offset=4 + i32.const 1 + i32.shl + i32.add + i32.load16_s + ) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) local.get $1 - call $~lib/typedarray/Int8Array#reverse - drop - i32.const 0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 + i32.add + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 12 + i32.add local.set $0 - loop $for-loop|1 - local.get $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 + loop $for-loop|0 + local.get $1 local.get $2 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 - call $~lib/typedarray/Int8Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 local.get $2 i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 24 i32.shl - i32.const 24 - i32.shr_s - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + i32.add + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store16 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int8Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/typedarray/Int8Array#reverse - local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 552 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + ) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 local.get $0 + i32.load offset=8 i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 7 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 553 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#__get - i32.const 5 - i32.ne + i32.shr_u + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 555 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store local.get $0 i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.sub local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + local.set $1 loop $for-loop|0 - local.get $0 + local.get $1 local.get $2 - i32.gt_u + i32.gt_s if + local.get $0 local.get $2 - local.get $4 + i32.const 1 + i32.shl i32.add - local.tee $3 - i32.load8_u - local.set $5 + local.get $2 local.get $3 - local.get $0 - local.get $4 i32.add - local.tee $3 i32.load8_u - i32.store8 - local.get $3 - local.get $5 - i32.store8 + i32.store16 local.get $2 i32.const 1 i32.add local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 4 + i32.add + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer local.get $1 + i32.load offset=4 + local.get $1 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Uint8Array#subarray (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 + i32.const 9116 + i32.load + i32.const 7 + i32.add local.get $0 i32.load offset=8 - local.tee $2 - local.get $2 - i32.const 4 + i32.const 1 + i32.shr_u i32.gt_s - select + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 14 + i32.add + local.set $0 + i32.const 9108 + i32.load + local.set $2 + i32.const 9116 + i32.load local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 + loop $for-loop|0 local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 + local.get $3 i32.lt_s - select + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_s + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 + ) + (func $~lib/typedarray/Uint16Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + ) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) + i32.const 8860 + i32.load + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 + i32.const 8852 i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 + i32.const 8856 + i32.load + call $~lib/memory/memory.copy + ) + (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 i32.load offset=4 - i32.add - i32.store offset=4 local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 + i32.load ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store offset=12 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $1 loop $for-loop|0 - local.get $0 + local.get $1 local.get $2 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $2 + i32.const 2 + i32.shl + i32.add local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store32 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + ) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) local.get $1 - call $~lib/typedarray/Uint8Array#reverse - drop - i32.const 0 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 local.set $0 - loop $for-loop|1 - local.get $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + local.set $1 + loop $for-loop|0 + local.get $1 local.get $2 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 local.get $0 - call $~lib/typedarray/Uint8Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_u + i32.store + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint8Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/typedarray/Uint8Array#reverse - local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + ) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 4 + i32.add local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 8 - i32.ne + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 552 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=4 + i32.const 16 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 i32.const 1 - call $~lib/typedarray/Uint8Array#__get + i32.shr_u + local.set $1 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.gt_s + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 9116 + i32.load i32.const 7 - i32.ne + i32.add + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 553 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=4 + i32.const 28 + i32.add + local.set $0 + i32.const 9108 + i32.load + local.set $2 + i32.const 9116 + i32.load + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $1 + local.get $2 + i32.add + i32.load8_s + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Uint32Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 + i32.load offset=4 + local.get $1 i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 6 - i32.ne + i32.shl + i32.add + i32.load + ) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 8860 + i32.load + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $0 + i32.const 8852 + i32.load + local.set $2 + i32.const 8860 + i32.load + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i64.load32_s + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Int64Array#__uget (param $0 i32) (param $1 i32) (result i64) local.get $0 + i32.load offset=4 + local.get $1 i32.const 3 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 - i32.ne + i32.shl + i32.add + i64.load + ) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 555 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + local.get $0 + i32.load offset=4 + i32.const 48 i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=4 + local.get $1 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=8 local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=4 + local.set $3 + local.get $1 + i32.load offset=8 + local.set $1 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.gt_s + if + local.get $0 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i64.load8_u + i64.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u i32.const 4 + i32.add local.get $0 i32.load offset=8 - local.tee $2 - local.get $2 - i32.const 4 + i32.const 3 + i32.shr_u i32.gt_s - select + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 32 + i32.add + local.set $0 + local.get $1 + i32.load offset=4 local.set $3 local.get $1 - i32.const 0 - i32.lt_s - if (result i32) + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $1 + loop $for-loop|0 local.get $1 local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 i32.gt_s - select - else - local.get $1 - local.get $2 + if + local.get $0 + local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i64.load16_s + i64.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + ) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 9116 + i32.load + i32.const 7 + i32.add + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + i32.const 56 + i32.add + local.set $0 + i32.const 9108 + i32.load + local.set $2 + i32.const 9116 + i32.load + local.set $3 + loop $for-loop|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s - select + if + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $1 + local.get $2 + i32.add + i64.load8_s + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 + ) + (func $~lib/typedarray/Uint64Array#__uget (param $0 i32) (param $1 i32) (result i64) local.get $0 - i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link + i32.load offset=4 local.get $1 - local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $~lib/typedarray/Float32Array#__uget (param $0 i32) (param $1 i32) (result f32) local.get $0 i32.load offset=4 - i32.add - i32.store offset=4 local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + f32.load + ) + (func $~lib/typedarray/Float64Array#__uget (param $0 i32) (param $1 i32) (result f64) + local.get $0 + i32.load offset=4 local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $invalid + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid + end + return + end + return + end + unreachable + end + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + i32.load + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + ) + (func $~start + call $start:std/typedarray + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 13724 + i32.lt_s + if + i32.const 30128 + i32.const 30176 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -18813,208 +16190,157 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 i32.store + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 3600 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 - i32.store offset=12 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $1 - i32.store offset=4 + i32.load offset=8 + local.set $4 local.get $1 - call $~lib/typedarray/Uint8Array#reverse - drop + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + loop $for-loop|0 local.get $2 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $2 + local.get $6 + i32.add + i32.load8_s + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $3 + i32.add + local.get $7 + local.get $2 local.get $1 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + i32.const 3600 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 local.get $2 i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.get $0 local.get $3 - i32.store offset=16 + i32.store + local.get $0 local.get $3 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link local.get $0 + local.get $3 i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint8Array#reverse - local.tee $0 - i32.store offset=20 + local.get $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 8 + call $~lib/typedarray/Int8Array#__get + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7 + call $~lib/typedarray/Int8Array#__get + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 + call $~lib/typedarray/Int8Array#__get + i32.const 9 i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -19022,68 +16348,155 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 + local.get $1 + i32.const 0 i32.const 1 - i32.shr_u + call $~lib/typedarray/Uint8Array#__set + local.get $1 i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $0 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load offset=8 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 loop $for-loop|0 - local.get $0 local.get $2 - i32.gt_u + local.get $4 + i32.lt_s if - local.get $4 local.get $2 - i32.const 1 - i32.shl + local.get $6 i32.add - local.tee $3 - i32.load16_s - local.set $5 + i32.load8_u + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $2 local.get $3 - local.get $4 - local.get $0 - i32.const 1 - i32.shl i32.add - local.tee $3 - i32.load16_s - i32.store16 - local.get $3 - local.get $5 - i32.store16 + local.get $7 + local.get $2 + local.get $1 + i32.const 3632 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 local.get $2 i32.const 1 i32.add local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 br $for-loop|0 end end + local.get $0 + local.get $3 + i32.store + local.get $0 + local.get $3 + call $~lib/rt/itcms/__link + local.get $0 + local.get $3 + i32.store offset=4 + local.get $0 + local.get $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -19096,307 +16509,156 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 4 - i32.gt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $4 i32.store local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $0 - i32.load offset=4 - local.get $3 + i32.const 0 i32.const 1 - i32.shl - i32.add - i32.store offset=4 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub i32.const 1 - i32.shl - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 3664 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $1 + i32.load offset=8 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int16Array#constructor + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $3 - i32.store offset=12 + i32.store offset=4 loop $for-loop|0 - local.get $0 local.get $2 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $2 + local.get $6 + i32.add + i32.load8_u + local.set $7 + i32.const 3 + global.set $~argumentsLength + local.get $2 local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.const 1 i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int16Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $7 + local.get $2 local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + i32.const 3664 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 local.get $2 i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer + local.get $0 local.get $3 - i32.store offset=16 + i32.store + local.get $0 local.get $3 - i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link local.get $0 + local.get $3 i32.store offset=4 local.get $0 - call $~lib/typedarray/Int16Array#reverse - local.tee $0 - i32.store offset=20 + local.get $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 9 i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -19404,68 +16666,165 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 3696 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.load offset=8 i32.const 1 i32.shr_u + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 1 - i32.sub - local.set $0 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u + local.get $3 + local.get $4 + i32.lt_s if - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_u - local.set $5 + local.get $6 local.get $3 - local.get $4 - local.get $0 i32.const 1 i32.shl + local.tee $8 i32.add - local.tee $3 - i32.load16_u - i32.store16 + i32.load16_s + local.set $9 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $8 + i32.add + local.get $9 local.get $3 - local.get $5 + local.get $1 + i32.const 3696 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) i32.store16 - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 + local.set $3 br $for-loop|0 end end + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 9 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -19478,301 +16837,164 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 4 - i32.gt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $4 i32.store local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $0 - i32.load offset=4 - local.get $3 + i32.const 0 i32.const 1 - i32.shl - i32.add - i32.store offset=4 + call $~lib/typedarray/Uint16Array#__set local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub i32.const 1 - i32.shl - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Uint16Array#__set local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 3728 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load + local.get $4 + i32.const 1 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $2 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint16Array#constructor - local.tee $3 - i32.store offset=12 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 + local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $6 local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 i32.const 1 + i32.shl + local.tee $8 i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint16Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint16Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + i32.load16_u + local.set $9 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 65535 - i32.and - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.get $8 + i32.add + local.get $9 + local.get $3 + local.get $1 + i32.const 3728 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $3 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint16Array#reverse - local.tee $0 - i32.store offset=20 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/typedarray/Uint16Array#__get - i32.const 8 + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint16Array#__get - i32.const 7 + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint16Array#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 + i32.const 9 i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -19780,278 +17002,167 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 3760 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u + local.get $3 + local.get $4 + i32.lt_s if - local.get $4 - local.get $2 + local.get $6 + local.get $3 i32.const 2 i32.shl + local.tee $8 i32.add - local.tee $3 i32.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 - i32.const 2 - i32.shl + local.set $9 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $8 i32.add - local.tee $3 + local.get $9 + local.get $3 + local.get $1 + i32.const 3760 i32.load + call_indirect (type $i32_i32_i32_=>_i32) i32.store local.get $3 - local.get $5 - i32.store - local.get $2 i32.const 1 i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 + local.set $3 br $for-loop|0 end end + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=12 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int32Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int32Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - local.get $4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int32Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - call $~lib/typedarray/Int32Array#reverse - local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/typedarray/Int32Array#__get - i32.const 8 + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Int32Array#__get - i32.const 7 + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Int32Array#__get - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#__get - i32.const 5 + i32.const 9 i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -20059,371 +17170,167 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 3792 i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u - if - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load - i32.store - local.get $3 - local.get $5 - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0 - end - end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 - local.get $0 + local.get $1 i32.load offset=8 i32.const 2 i32.shr_u - local.tee $2 - local.get $2 - i32.const 4 - i32.gt_s - select - local.set $3 + local.set $4 local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $4 + local.tee $0 i32.store - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $4 - call $~lib/rt/itcms/__link - local.get $1 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub i32.const 2 i32.shl - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $2 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 - i32.store offset=12 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 + local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $6 local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 1 + i32.const 2 + i32.shl + local.tee $8 i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint32Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint32Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + i32.load + local.set $9 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - local.get $4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.get $8 + i32.add + local.get $9 + local.get $3 + local.get $1 + i32.const 3792 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $3 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint32Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint32Array#reverse - local.tee $0 - i32.store offset=20 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/typedarray/Uint32Array#__get - i32.const 8 + i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint32Array#__get - i32.const 7 + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint32Array#__get - i32.const 6 + i32.const 9 i32.ne if i32.const 0 i32.const 1568 - i32.const 554 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#__get - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -20431,68 +17338,165 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 + local.get $1 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 3824 i32.store offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.load offset=8 i32.const 3 i32.shr_u - i32.const 1 - i32.sub - local.set $0 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 3 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u + local.get $3 + local.get $4 + i32.lt_s if - local.get $4 - local.get $2 + local.get $6 + local.get $3 i32.const 3 i32.shl + local.tee $8 i32.add - local.tee $3 i64.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 + local.set $9 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $2 + local.get $8 i32.add - local.tee $3 - i64.load - i64.store + local.get $9 local.get $3 - local.get $5 + local.get $1 + i32.const 3824 + i32.load + call_indirect (type $i64_i32_i32_=>_i64) i64.store - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 + local.set $3 br $for-loop|0 end end + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 9 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -20505,298 +17509,164 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 - local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 4 - i32.gt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new + call $~lib/typedarray/Uint64Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $4 i32.store local.get $1 - local.get $4 - call $~lib/rt/itcms/__link + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $1 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) + i32.const 3856 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load + local.get $4 + i32.const 3 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $2 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store offset=12 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 + local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $6 local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - i32.const 1 + i32.const 3 + i32.shl + local.tee $8 i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int64Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int64Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + i64.load + local.set $9 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.get $8 + i32.add + local.get $9 + local.get $3 + local.get $1 + i32.const 3856 + i32.load + call_indirect (type $i64_i32_i32_=>_i64) + i64.store + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $3 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Int64Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 i32.store offset=4 local.get $0 - call $~lib/typedarray/Int64Array#reverse - local.tee $0 - i32.store offset=20 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 8 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 i64.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 7 + call $~lib/typedarray/Uint64Array#__get + i64.const 4 i64.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#__get - i64.const 5 + call $~lib/typedarray/Uint64Array#__get + i64.const 9 i64.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#reverse (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -20804,68 +17674,165 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor local.tee $1 i32.store - local.get $0 - i32.load offset=4 - local.set $4 + local.get $1 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $1 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $1 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 3888 i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $0 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u + local.get $3 + local.get $4 + i32.lt_s if - local.get $4 - local.get $2 - i32.const 3 + local.get $6 + local.get $3 + i32.const 2 i32.shl + local.tee $8 i32.add - local.tee $3 - i64.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 + f32.load + local.set $9 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $2 + local.get $8 i32.add - local.tee $3 - i64.load - i64.store + local.get $9 + local.get $3 + local.get $1 + i32.const 3888 + i32.load + call_indirect (type $f32_i32_i32_=>_f32) + f32.store local.get $3 - local.get $5 - i64.store - local.get $2 i32.const 1 i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 + local.set $3 br $for-loop|0 end end + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 9 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f64) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -20878,298 +17845,155 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 4 - local.get $0 - i32.load offset=8 i32.const 3 - i32.shr_u - local.tee $2 - local.get $2 - i32.const 4 - i32.gt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new + call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.get $0 - i32.load - local.tee $4 i32.store local.get $1 - local.get $4 - call $~lib/rt/itcms/__link + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $1 - local.get $0 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) + i32.const 3920 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $4 + local.get $1 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load + local.get $4 + i32.const 3 + i32.shl + local.tee $7 + i32.const 0 + call $~lib/rt/itcms/__new local.tee $2 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store offset=12 + i32.store offset=4 loop $for-loop|0 - local.get $0 - local.get $2 + local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 + local.get $6 local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - i32.const 1 + i32.const 3 + i32.shl + local.tee $8 i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint64Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 + f64.load + local.set $9 + i32.const 3 + global.set $~argumentsLength local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.get $8 + i32.add + local.get $9 + local.get $3 + local.get $1 + i32.const 3920 + i32.load + call_indirect (type $f64_i32_i32_=>_f64) + f64.store + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $3 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Uint64Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint64Array#reverse - local.tee $0 - i32.store offset=20 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=8 local.get $0 i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 8 - i64.ne + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 7 - i64.ne + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne + call $~lib/typedarray/Float64Array#__get + f64.const 9 + f64.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21177,68 +18001,112 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store local.get $0 - i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set local.get $0 - i32.load offset=8 i32.const 2 - i32.shr_u - i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3952 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int8Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load i32.sub - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u - if - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load - f32.store - local.get $3 - local.get $5 - f32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0 - end + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> + (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21251,92 +18119,111 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - i32.const 4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.load offset=8 + i32.const 1 i32.const 2 - i32.shr_u - local.tee $2 - local.get $2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 3 i32.const 4 - i32.gt_s - select - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 - local.get $2 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $2 - local.get $1 - local.get $2 - i32.lt_s - select - end - local.set $2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3984 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=8 - local.get $1 local.get $0 - i32.load - local.tee $4 - i32.store - local.get $1 - local.get $4 - call $~lib/rt/itcms/__link - local.get $1 + call $~lib/typedarray/Uint8Array#filter + local.tee $0 + i32.store offset=8 local.get $0 i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $1 - local.get $2 - local.get $3 - local.get $2 - local.get $3 - i32.gt_s - select - local.get $3 + local.get $0 + i32.load i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 2 - i32.shl - i32.store offset=8 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21344,205 +18231,114 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 + i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store offset=12 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Float32Array#reverse - drop + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Float32Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 - i32.const 8 - call $~lib/typedarray/Float32Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 4016 i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Float32Array#reverse + call $~lib/typedarray/Uint8ClampedArray#filter local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer + i32.store offset=8 local.get $0 - i32.store offset=4 + i32.load offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 8 - f32.ne + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 7 - f32.ne + i32.load offset=8 + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 6 - f32.ne + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 554 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.ne + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 + i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21550,72 +18346,116 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store local.get $0 - i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4048 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int16Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.gt_u - if - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $3 - f64.load - local.set $5 - local.get $3 - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $3 - f64.load - f64.store - local.get $3 - local.get $5 - f64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0 - end + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21623,203 +18463,116 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6924 - i32.load - local.tee $2 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 + i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store offset=12 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $1 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=16 - local.get $3 - local.get $0 - i32.const 6912 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Float64Array#reverse - drop + i32.const 6 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Float64Array#__get - global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store offset=4 - i32.const 6912 - local.get $2 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f64.convert_i32_s - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=16 - local.get $3 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint16Array#__set local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4080 i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Float64Array#reverse + call $~lib/typedarray/Uint16Array#filter local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer + i32.store offset=8 local.get $0 - i32.store offset=4 + i32.load offset=4 local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 8 - f64.ne + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 552 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=8 i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.ne + i32.shr_u + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 553 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.ne + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 554 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.ne + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 + i32.ne if i32.const 0 i32.const 1568 - i32.const 555 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21827,77 +18580,116 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4112 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - local.get $0 - i32.load offset=8 - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int32Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub + if i32.const 0 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - local.tee $3 - local.get $0 - i32.add - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Int8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -21905,644 +18697,648 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4144 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $0 - i32.load offset=8 - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - if - local.get $2 - local.tee $3 - local.get $0 - i32.add - i32.load8_u - local.get $1 - i32.const 255 - i32.and - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int8Array#lastIndexOf - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 - i32.load - local.tee $0 - local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Int8Array#constructor + call $~lib/typedarray/Uint32Array#filter local.tee $0 i32.store offset=8 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 - local.get $0 - local.get $1 - i32.const 7024 - local.get $1 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.load offset=4 local.get $0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 580 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 581 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 582 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 4 i32.ne if i32.const 0 i32.const 1568 - i32.const 583 + i32.const 416 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 + call $~lib/typedarray/Uint32Array#__get + i32.const 5 i32.ne if i32.const 0 i32.const 1568 - i32.const 584 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - i32.ne + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4176 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int64Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 585 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 586 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.const 1 - i32.const 10 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.ne if i32.const 0 i32.const 1568 - i32.const 587 + i32.const 416 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 - i32.ne + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.ne if i32.const 0 i32.const 1568 - i32.const 588 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.store offset=4 i32.const 1 - global.set $~argumentsLength + i64.const 2 + call $~lib/typedarray/Uint64Array#__set local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4208 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint64Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 590 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength local.get $0 - i32.const 11 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 591 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength local.get $0 - i32.const -1 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.ne + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne if i32.const 0 i32.const 1568 - i32.const 592 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const 3 - i32.ne + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.ne if i32.const 0 i32.const 1568 - i32.const 593 + i32.const 416 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 - i32.ne + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne if i32.const 0 i32.const 1568 - i32.const 594 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set local.get $0 i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 - i32.ne + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 5 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4240 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Float32Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 595 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 + i32.load offset=8 i32.const 2 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 + i32.shr_u + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 596 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.ne + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne if i32.const 0 i32.const 1568 - i32.const 597 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - i32.const -10 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.ne + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.ne if i32.const 0 i32.const 1568 - i32.const 598 + i32.const 416 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.ne + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.ne if i32.const 0 i32.const 1568 - i32.const 599 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + (local $0 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int8Array#subarray - local.tee $0 - i32.store offset=16 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 5 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4272 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Float64Array#filter + local.tee $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 603 + i32.const 413 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 604 + i32.const 414 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 5 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 - i32.ne + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne if i32.const 0 i32.const 1568 - i32.const 605 + i32.const 415 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.ne if i32.const 0 i32.const 1568 - i32.const 606 + i32.const 416 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.ne if i32.const 0 i32.const 1568 - i32.const 607 + i32.const 417 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store + local.get $0 + i32.const 255 + i32.and + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get + i32.const 255 + i32.and i32.ne if i32.const 0 i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -22550,45 +19346,81 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 6448 i32.store offset=4 - i32.const 7036 - i32.load - local.tee $0 - local.set $2 + local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6496 i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + local.set $3 loop $for-loop|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 - local.get $0 local.get $1 - i32.const 7024 + local.get $2 + i32.add + i32.load8_s + i32.const 3 + global.set $~argumentsLength local.get $1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 6496 + i32.load + call_indirect (type $i32_i32_i32_=>_none) local.get $1 i32.const 1 i32.add @@ -22596,483 +19428,479 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 580 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.const 65535 + i32.and + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get + i32.const 65535 + i32.and i32.ne if i32.const 0 i32.const 1568 - i32.const 582 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 583 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 584 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + i32.const 6592 + i32.store offset=8 local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $2 local.get $0 + i32.load offset=8 i32.const 1 - i32.const -100 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6592 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 588 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 11 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#lastIndexOf i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 i32.const 1 - i32.const 100 - call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 6448 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer + i32.const 6624 + i32.store offset=8 local.get $0 - i32.store offset=4 + i32.load offset=4 + local.set $2 local.get $0 + i32.load offset=8 i32.const 1 - i32.const -11 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6624 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Uint8Array#subarray - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + global.get $std/typedarray/forEachCallCount i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 603 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 i32.ne if i32.const 0 i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 606 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 11 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 5 i32.const 1 - call $~lib/typedarray/Int8Array#indexOf + i32.const 6448 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 5 i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6656 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6656 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 610 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23080,45 +19908,73 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 6448 i32.store offset=4 - i32.const 7036 - i32.load - local.tee $0 - local.set $2 + local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6688 i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 loop $for-loop|0 local.get $1 - local.get $2 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 - local.get $0 + local.get $2 local.get $1 - i32.const 7024 + i32.const 2 + i32.shl + i32.add + i32.load + i32.const 3 + global.set $~argumentsLength local.get $1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 6688 + i32.load + call_indirect (type $i32_i32_i32_=>_none) local.get $1 i32.const 1 i32.add @@ -23126,468 +19982,961 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne if i32.const 0 i32.const 1568 - i32.const 580 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store + local.get $0 + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get + i64.extend_i32_s + i64.ne if i32.const 0 i32.const 1568 - i32.const 581 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 582 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 583 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 3 i32.const 2 - call $~lib/typedarray/Int8Array#indexOf + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6720 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6720 + i32.load + call_indirect (type $i64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 584 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6752 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#indexOf + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6752 + i32.load + call_indirect (type $i64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 585 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.ne + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store + local.get $0 + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get + f32.convert_i32_s + f32.ne if i32.const 0 i32.const 1568 - i32.const 586 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 587 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 588 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength local.get $0 i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 + local.get $0 i32.const 1 - global.set $~argumentsLength + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 local.get $0 - i32.const 11 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer + i32.const 6784 + i32.store offset=8 local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + i32.load offset=4 + local.set $2 local.get $0 - i32.const -1 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6784 + i32.load + call_indirect (type $f32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 592 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const 3 - i32.ne + i32.const 6448 + local.get $1 + call $~lib/array/Array#__get + f64.convert_i32_s + f64.ne if i32.const 0 i32.const 1568 - i32.const 593 - i32.const 3 + i32.const 513 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 + local.get $1 + global.get $std/typedarray/forEachCallCount i32.ne if i32.const 0 i32.const 1568 - i32.const 594 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 + local.get $2 + global.get $std/typedarray/forEachSelf i32.ne if i32.const 0 i32.const 1568 - i32.const 595 - i32.const 3 + i32.const 515 + i32.const 5 call $~lib/builtins/abort unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 i32.const 1 - i32.const -10 - call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 6448 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6448 i32.store offset=4 local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6816 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + i32.const 3 + global.set $~argumentsLength + local.get $1 + local.get $0 + i32.const 6816 + i32.load + call_indirect (type $f64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $std/typedarray/forEachCallCount + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 599 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Int8Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int8Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#subarray + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Int8Array#reverse local.tee $0 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + call $~lib/typedarray/Int8Array#__get + i32.const 8 i32.ne if i32.const 0 i32.const 1568 - i32.const 603 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 7 + i32.ne if i32.const 0 i32.const 1568 - i32.const 604 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 605 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.const 3 + call $~lib/typedarray/Int8Array#__get + i32.const 5 i32.ne if i32.const 0 i32.const 1568 - i32.const 606 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint8Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint8Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 - i32.const 10 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + call $~lib/typedarray/Uint8Array#__get + i32.const 8 i32.ne if i32.const 0 i32.const 1568 - i32.const 607 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 7 i32.ne if i32.const 0 i32.const 1568 - i32.const 608 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int8Array#indexOf - i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 609 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__get i32.const 5 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 610 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable @@ -23597,11 +20946,13 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23609,197 +20960,166 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $2 - i32.const 0 + local.get $1 i32.lt_s if local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $0 - local.get $2 - local.tee $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 end - i32.const -1 - local.set $3 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Int16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 + call $~lib/typedarray/Uint8Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 + local.get $1 i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 + if local.get $2 - i32.const 0 - i32.ge_s + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.ne if - local.get $0 - local.get $2 - local.tee $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $1 - i32.const 65535 - i32.and - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $3 - ) - (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.set $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#reverse + local.tee $0 + i32.store offset=16 + local.get $0 i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable end local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -23815,510 +21135,648 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 6912 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 + i32.const 6924 i32.load - local.tee $0 - local.set $2 + local.tee $1 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 call $~lib/typedarray/Int16Array#constructor - local.tee $0 + local.tee $3 i32.store offset=8 loop $for-loop|0 + local.get $0 local.get $1 - local.get $2 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.const 6912 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 call $~lib/array/Array#__get i32.const 16 i32.shl i32.const 16 i32.shr_s call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end + local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Int16Array#subarray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 i32.const 0 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.ne if i32.const 0 i32.const 1568 - i32.const 580 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 i32.ne if i32.const 0 i32.const 1568 - i32.const 581 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 582 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 3 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 i32.ne if i32.const 0 i32.const 1568 - i32.const 583 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Uint16Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint16Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 65535 + i32.and + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint16Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint16Array#reverse + local.tee $0 + i32.store offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 8 i32.ne if i32.const 0 i32.const 1568 - i32.const 584 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 7 i32.ne if i32.const 0 i32.const 1568 - i32.const 585 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 586 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + i32.const 3 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 i32.ne if i32.const 0 i32.const 1568 - i32.const 587 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 11 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 6912 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int32Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Int32Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 + local.get $3 i32.const 4 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 8 + call $~lib/typedarray/Int32Array#subarray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.store offset=12 local.get $0 - i32.store offset=4 + call $~lib/typedarray/Int32Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 8 i32.ne if i32.const 0 i32.const 1568 - i32.const 596 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 7 i32.ne if i32.const 0 i32.const 1568 - i32.const 597 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 598 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 + i32.const 3 + call $~lib/typedarray/Int32Array#__get + i32.const 5 i32.ne if i32.const 0 i32.const 1568 - i32.const 599 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Int16Array#subarray - local.tee $0 - i32.store offset=16 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 i32.store offset=4 - local.get $0 - i32.const 9 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint32Array#reverse + drop i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint32Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint32Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 - i32.const 10 i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + call $~lib/typedarray/Uint32Array#__get + i32.const 8 i32.ne if i32.const 0 i32.const 1568 - i32.const 607 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 7 i32.ne if i32.const 0 i32.const 1568 - i32.const 608 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 6 i32.ne if i32.const 0 i32.const 1568 - i32.const 609 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__get i32.const 5 - i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 610 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable @@ -24328,10 +21786,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -24347,508 +21806,642 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 6912 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 + i32.const 6924 i32.load - local.tee $0 - local.set $2 + local.tee $1 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 + local.get $1 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store offset=8 loop $for-loop|0 + local.get $0 local.get $1 - local.get $2 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.const 6912 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $1 + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 + local.get $2 + call $~lib/typedarray/Int64Array#reverse + drop i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Int64Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $3 + i32.const 8 + call $~lib/typedarray/Int64Array#subarray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Int64Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 - i32.const -1 i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.const 8 + i64.ne if i32.const 0 i32.const 1568 - i32.const 582 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 - i32.ne + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 7 + i64.ne if i32.const 0 i32.const 1568 - i32.const 583 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.const 6 + i64.ne if i32.const 0 i32.const 1568 - i32.const 584 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#indexOf i32.const 3 - i32.ne + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.ne if i32.const 0 i32.const 1568 - i32.const 585 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Uint64Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint64Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Uint64Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Uint64Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint64Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs + call $~lib/typedarray/Uint64Array#__get + i64.const 8 + i64.ne if i32.const 0 i32.const 1568 - i32.const 590 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 11 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne + call $~lib/typedarray/Uint64Array#__get + i64.const 7 + i64.ne if i32.const 0 i32.const 1568 - i32.const 591 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength local.get $0 - i32.const -1 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 6 + i64.ne if i32.const 0 i32.const 1568 - i32.const 592 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength local.get $0 i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const 3 - i32.ne + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne if i32.const 0 i32.const 1568 - i32.const 593 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Float32Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Float32Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + f32.convert_i32_s + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 8 + call $~lib/typedarray/Float32Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.ne + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Float32Array#reverse + local.tee $0 + i32.store offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 8 + f32.ne if i32.const 0 i32.const 1568 - i32.const 594 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.ne + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 7 + f32.ne if i32.const 0 i32.const 1568 - i32.const 595 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 3 i32.const 2 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 - i32.ne + call $~lib/typedarray/Float32Array#__get + f32.const 6 + f32.ne if i32.const 0 i32.const 1568 - i32.const 596 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 - i32.ne + i32.const 3 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.ne if i32.const 0 i32.const 1568 - i32.const 597 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Uint16Array#subarray - local.tee $0 - i32.store offset=16 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 6912 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 6924 + i32.load + local.tee $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 9 + local.get $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $3 + i32.store offset=8 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $3 + local.get $0 + i32.const 6912 + local.get $0 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Float64Array#reverse + drop i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + call $~lib/typedarray/Float64Array#__get + i32.const 6912 + local.get $1 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + f64.convert_i32_s + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Float64Array#subarray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Float64Array#reverse + local.tee $0 + i32.store offset=16 local.get $0 - i32.const 10 i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne + call $~lib/typedarray/Float64Array#__get + f64.const 8 + f64.ne if i32.const 0 i32.const 1568 - i32.const 607 + i32.const 552 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.ne if i32.const 0 i32.const 1568 - i32.const 608 + i32.const 553 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.ne + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.ne if i32.const 0 i32.const 1568 - i32.const 609 + i32.const 554 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.ne + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.ne if i32.const 0 i32.const 1568 - i32.const 610 + i32.const 555 i32.const 3 call $~lib/builtins/abort unreachable @@ -24858,11 +22451,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -24870,153 +22463,105 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + i32.load offset=4 local.get $0 + i32.load offset=8 + call $~lib/util/string/joinIntegerArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 2 - i32.shl - i32.add - i32.load - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 + i32.const 1568 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Int32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 7424 i32.store + local.get $0 + i32.load offset=4 + local.get $0 + i32.load offset=8 + call $~lib/util/string/joinIntegerArray + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $0 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 2 - i32.shl - i32.add - i32.load - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 + i32.const 1568 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25025,40 +22570,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - end + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int32Array#lastIndexOf + i32.load offset=4 + local.get $0 + i32.load offset=8 + call $~lib/util/string/joinIntegerArray global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -25069,524 +22598,908 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 - i32.load + i32.const 5 + call $~lib/typedarray/Uint8Array#constructor local.tee $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.store local.get $0 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store offset=8 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 - local.get $0 - local.get $1 - i32.const 7024 - local.get $1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set local.get $0 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 - i32.store offset=4 + i32.load offset=4 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.load offset=8 + call $~lib/util/string/joinIntegerArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 581 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 582 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 + i32.const 2 i32.const 3 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 - i32.store offset=4 + i32.load offset=4 local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int32Array#indexOf - i32.const 3 - i32.ne + i32.load offset=8 + call $~lib/util/string/joinIntegerArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 584 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int32Array#indexOf - i32.const 3 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 585 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 587 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int32Array#indexOf - i32.const 1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 588 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 i32.const 1 - global.set $~argumentsLength + call $~lib/typedarray/Uint16Array#__set local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 11 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 591 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const -1 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const -1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 592 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 i32.const 1 - global.set $~argumentsLength + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set local.get $0 + i32.const 2 i32.const 3 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs + call $~lib/typedarray/Int32Array#__set + local.get $0 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 594 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 3 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 595 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 + i32.const 0 i32.const 1 - i32.const 100 - call $~lib/typedarray/Int32Array#lastIndexOf + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.store offset=4 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Uint32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 599 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store local.get $0 + call $~lib/typedarray/Uint32Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 9 - call $~lib/typedarray/Int32Array#subarray - local.tee $0 - i32.store offset=16 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 603 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set local.get $0 i32.const 4 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 5 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Int64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const 1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Int64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 606 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.const 10 i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Uint64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 + local.get $1 + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Uint64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store offset=8 local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.const 7456 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int32Array#indexOf i32.const 1 - i32.ne + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 4 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 + local.get $0 + call $~lib/typedarray/Float32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8640 + i32.store offset=8 + local.get $1 + i32.const 8640 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 649 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Float32Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8640 + i32.store offset=8 local.get $0 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.ne + i32.const 8640 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 650 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -25594,79 +23507,107 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store offset=12 local.get $0 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 8640 + i32.store offset=8 + local.get $1 + i32.const 8640 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - i32.lt_s - if - local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 2 - i32.shl - i32.add - i32.load - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 + i32.const 1568 + i32.const 649 + i32.const 5 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store + local.get $0 + call $~lib/typedarray/Float64Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8640 + i32.store offset=8 + local.get $0 + i32.const 8640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 650 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Uint32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -25674,73 +23615,69 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + loop $for-loop|0 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 + local.get $3 i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 2 - i32.shl - i32.add - i32.load - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25749,38 +23686,74 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - end local.get $0 - local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store local.get $2 - call $~lib/typedarray/Uint32Array#lastIndexOf + local.get $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int8Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -25796,520 +23769,579 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 + i32.const 8780 i32.load - local.tee $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store offset=8 + local.tee $2 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 loop $for-loop|0 - local.get $1 + local.get $0 local.get $2 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.const 8768 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $1 + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $3 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + local.get $3 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 8768 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + i32.load offset=16 + local.set $5 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 11 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 i32.const 1 global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const 3 - i32.ne + i32.and if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int16Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Uint32Array#lastIndexOf + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 i32.const 1 - i32.ne + i32.and if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Uint32Array#subarray - local.tee $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -26317,193 +24349,155 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 + loop $for-loop|0 local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - i32.const 0 + local.get $3 i32.lt_s if - local.get $2 - local.get $4 + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 3 - i32.shl - i32.add - i64.load - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end + local.set $0 + br $for-loop|0 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Int64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 3 - i32.shl - i32.add - i64.load - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 3 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int32Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int32Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - unreachable + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#lastIndexOf global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -26519,521 +24513,469 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 + i32.const 8780 i32.load - local.tee $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store offset=8 + local.tee $3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store offset=4 loop $for-loop|0 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.const 8768 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i64.const 11 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const -1 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store local.get $0 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 i32.const 3 - i32.ne + i32.and if - i32.const 0 - i32.const 1568 - i32.const 583 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Int64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Int64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 i32.const 4 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const 10 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -100 - call $~lib/typedarray/Int64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 i32.const 1 global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i64.const 0 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + i32.store + local.get $2 local.get $0 - i64.const 11 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Int64Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Int64Array#__get + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i64.const -1 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 i32.const 1 global.set $~argumentsLength - local.get $0 - i64.const 3 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 3 - i32.ne + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - local.get $0 - i64.const 1 - i32.const 100 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -10 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -11 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Int64Array#subarray - local.tee $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 4 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 9 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 10 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 11 i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 - i32.const 1 - call $~lib/typedarray/Int64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 - i32.const 2 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Uint64Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Uint64Array#__get + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -27041,193 +24983,156 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 8780 + i32.load + local.tee $3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 + loop $for-loop|0 local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - i32.const 0 + local.get $3 i32.lt_s if - local.get $2 - local.get $4 + local.get $1 + local.get $0 + i32.const 8768 + local.get $0 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 3 - i32.shl - i32.add - i64.load - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 - end + local.set $0 + br $for-loop|0 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Uint64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 3 + i32.and + if + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 i32.store - global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 - i32.const 3 - i32.shl - i32.add - i64.load - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 - end - end - i32.const -1 - local.set $3 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Float32Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Float32Array#__get + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - unreachable + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint64Array#lastIndexOf global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -27243,715 +25148,980 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 8768 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 + i32.const 8780 i32.load - local.tee $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store offset=8 + local.tee $3 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store offset=4 loop $for-loop|0 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.const 8768 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $1 + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 0 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.load + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i64.const 11 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + local.get $1 + i32.load offset=8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $0 + i32.store offset=12 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $2 + local.set $5 + local.get $2 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1831 + i32.const 9 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 local.get $0 - i32.store offset=4 + i32.store + local.get $2 local.get $0 - i64.const -1 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + local.get $2 + local.get $5 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - local.get $0 - i64.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $1 + local.get $0 + call $~lib/typedarray/Float64Array#__get + local.get $2 + local.get $0 + call $~lib/typedarray/Float64Array#__get + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 + i32.load offset=8 + local.tee $3 + local.get $1 + i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 585 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_s + local.tee $4 + local.get $2 + local.get $1 + i32.load offset=4 + i32.add + i32.load8_s + local.tee $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 9184 + i32.store + i32.const 9184 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 i32.const 4 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const 10 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -100 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 i64.const 0 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i64.const 11 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 i32.const 1 - global.set $~argumentsLength - local.get $0 - i64.const -1 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 i32.const 1 - global.set $~argumentsLength - local.get $0 - i64.const 3 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 4 - call $~lib/typedarray/Uint64Array#lastIndexOf i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 10 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9152 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.store offset=16 + local.get $1 local.get $0 - i64.const 1 - i32.const 100 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -10 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 1 - i32.const -11 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Uint64Array#subarray - local.tee $0 + i32.const 8928 i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 4 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 9 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 10 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 + local.set $0 + block $folding-inner0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 11 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 - i32.const 1 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 1 - i32.ne - if + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i64.const 5 - i32.const 2 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.ne - if + i32.const 15 + i32.const 9232 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#indexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 + i32.const 15 + i32.const 9264 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=8 + i32.const 9036 + i32.load i32.const 2 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 - i32.const 0 + i32.add i32.lt_s - if - local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 + br_if $folding-inner0 + local.get $1 i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $4 + i32.const 2 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 i32.lt_s if - local.get $1 local.get $0 - local.get $2 - local.tee $3 - i32.const 2 + local.get $3 + i32.add + local.get $5 + local.get $0 + i32.const 3 i32.shl i32.add - f32.load - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $3 + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store8 + local.get $0 i32.const 1 i32.add - local.set $2 - br $while-continue|0 + local.set $0 + br $for-loop|00 end end - i32.const -1 - local.set $3 + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9296 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 15 + i32.const 9328 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $~lib/typedarray/Float32Array#lastIndexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 - local.get $4 - i32.add - local.get $4 - i32.const 1 - i32.sub - local.get $2 + i32.load offset=8 + local.tee $4 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 local.get $2 local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 i32.lt_s - select - local.set $2 - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 + if local.get $2 - i32.const 0 - i32.ge_s + local.get $1 + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + local.set $5 + local.get $3 + local.get $2 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + i32.ne if - local.get $1 - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 9392 + i32.store + i32.const 9392 + i32.const 3 local.get $2 - local.tee $3 - i32.const 2 - i32.shl - i32.add - f32.load - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + f64.convert_i32_s local.get $3 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (param $0 i32) (param $1 f32) (result i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9360 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + block $folding-inner0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9440 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9472 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + local.get $1 i32.load offset=8 + i32.const 9036 + i32.load i32.const 2 - i32.shr_u + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 2 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $3 + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9504 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9536 + call $~lib/rt/__newArray local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 + i32.load offset=8 + local.tee $4 local.get $1 - local.get $2 - call $~lib/typedarray/Float32Array#lastIndexOf + i32.load offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $1 + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + local.set $5 + local.get $3 + local.get $2 + local.get $0 + i32.load offset=4 + i32.add + i32.load8_u + local.tee $3 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 9600 + i32.store + i32.const 9600 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f32) + (local $10 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -27967,601 +26137,859 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7024 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - i32.const 7036 - i32.load - local.tee $0 - local.set $2 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 i32.store offset=8 - loop $for-loop|0 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + block $folding-inner0 + i32.const 8860 + i32.load local.get $1 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 + i32.load offset=8 + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + local.set $6 + i32.const 8852 + i32.load + local.set $7 + i32.const 8860 + i32.load + local.set $8 + loop $for-loop|0 local.get $0 - local.get $1 - i32.const 7024 - local.get $1 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $5 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $5 + i32.const 255 + local.get $5 + i32.sub + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 0 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 11 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const -1 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if + i32.const 63 + i32.const 9568 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 582 + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 8940 + i32.load i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 583 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 2 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.ne - if + i32.add + local.set $6 + i32.const 8932 + i32.load + local.set $7 + i32.const 8940 + i32.load + local.set $8 + loop $for-loop|00 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $9 + local.get $9 + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $9 + f32.min + f32.max + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 3 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.ne - if + i32.const 63 + i32.const 9664 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $1 + local.get $3 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 4 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if + i32.const 63 + i32.const 9696 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 1 - i32.const 10 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if + local.set $0 + local.get $1 + i32.load offset=8 + i32.const 9036 + i32.load + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 2 + i32.add + local.set $5 + i32.const 9028 + i32.load + local.set $6 + i32.const 9036 + i32.load + local.set $7 + loop $for-loop|01 + local.get $0 + local.get $7 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $10 + local.get $10 + f64.sub + f64.const 0 + f64.eq + if (result i32) + f64.const 0 + f64.const 255 + local.get $10 + f64.min + f64.max + i32.trunc_f64_u + else + i32.const 0 + end + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|01 + end + end + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 1 - i32.const -100 - call $~lib/typedarray/Float32Array#indexOf - i32.const 1 - i32.ne - if + i32.const 63 + i32.const 9728 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $2 + i32.load offset=8 + local.get $1 + i32.load offset=8 + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + local.get $2 + i32.load offset=4 + local.get $2 + i32.load offset=8 + call $~lib/memory/memory.copy + local.get $1 + local.get $4 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - if + local.set $2 + local.get $1 + i32.load offset=8 + i32.const 9116 + i32.load + i32.const 7 + i32.add + i32.lt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 7 + i32.add + local.set $3 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $5 + loop $for-loop|02 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $2 + local.get $3 + i32.add + local.get $2 + local.get $4 + i32.add + i32.load8_s + local.tee $0 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $0 + i32.const 255 + local.get $0 + i32.sub + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|02 + end + end + i32.const 10 i32.const 0 - i32.const 1568 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 63 + i32.const 9760 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const 11 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 + i32.load offset=8 i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const -1 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const -1 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 592 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const 3 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int16Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#__uget + local.tee $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 9840 + i32.store + i32.const 9840 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 i32.const 4 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 3 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 i32.const 2 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - local.get $0 - f32.const 1 + local.get $2 + i32.const 0 i32.const 100 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 1 - i32.const -10 - call $~lib/typedarray/Float32Array#lastIndexOf + call $~lib/typedarray/Uint8Array#__set + local.get $2 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 1 - i32.const -11 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9 - call $~lib/typedarray/Float32Array#subarray - local.tee $0 + i32.const 8848 i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9792 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - f32.const 3 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store offset=16 + local.get $1 local.get $0 - f32.const 4 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 5 + i32.const 8928 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 + local.set $0 + block $folding-inner0 + i32.const 8940 + i32.load i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 9 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 6 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9888 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9936 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 4 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $8 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 9984 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 10032 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 10 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 11 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store local.get $0 - f32.const 5 - i32.const 1 - call $~lib/typedarray/Float32Array#indexOf + i32.load offset=8 i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const 5 - i32.const 2 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#indexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.ge_s - i32.const 1 - local.get $4 - select - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + loop $for-loop|0 local.get $2 - i32.const 0 + local.get $3 i32.lt_s if + local.get $0 local.get $2 - local.get $4 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.set $2 - end - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 + call $~lib/typedarray/Uint16Array#__uget + local.tee $4 + local.get $1 local.get $2 - local.get $4 - i32.lt_s + call $~lib/typedarray/Uint16Array#__uget + local.tee $5 + i32.ne if - local.get $1 - local.get $0 - local.get $2 - local.tee $3 + global.get $~lib/memory/__stack_pointer + i32.const 10128 + i32.store + i32.const 10128 i32.const 3 - i32.shl - i32.add - f64.load - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $3 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - i32.const -1 - local.set $3 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Float64Array#lastIndexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f64) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -28569,73 +26997,291 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store + local.get $3 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - i32.const -1 - local.set $3 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $0 - i32.load offset=8 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10080 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + block $folding-inner0 + i32.const 8940 + i32.load i32.const 3 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - local.get $4 + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 6 i32.add - local.get $4 + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $7 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store16 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + i32.const 10 i32.const 1 - i32.sub - local.get $2 - local.get $2 - local.get $4 - i32.ge_s - select - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $2 + i32.const 65 + i32.const 10176 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load offset=4 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10224 + call $~lib/rt/__newArray local.set $0 - loop $while-continue|0 - local.get $2 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 4 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s if - local.get $1 + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $5 local.get $0 - local.get $2 - local.tee $3 i32.const 3 i32.shl i32.add f64.load + local.tee $8 + local.get $8 + f64.sub + f64.const 0 f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $3 + if (result i32) + local.get $8 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store16 + local.get $0 i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 + i32.add + local.set $0 + br $for-loop|00 end end - i32.const -1 - local.set $3 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10272 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10320 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (param $0 i32) (param $1 f64) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28644,38 +27290,82 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int32Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Int32Array#__uget + local.tee $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 10432 + i32.store + i32.const 10432 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable end - unreachable + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Float64Array#lastIndexOf global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -28691,523 +27381,746 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=4 - i32.const 7036 - i32.load - local.tee $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float64Array#constructor + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store offset=8 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store offset=12 - local.get $0 - local.get $1 - i32.const 7024 - local.get $1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 0 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store local.get $0 - f64.const 11 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i64.const 7 + call $~lib/typedarray/Int64Array#__set local.get $0 - i32.store offset=4 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set local.get $0 - f64.const -1 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 i32.store offset=4 - local.get $0 - f64.const 3 + local.get $3 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $3 i32.const 2 - call $~lib/typedarray/Float64Array#indexOf + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $3 i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 i32.const 3 - call $~lib/typedarray/Float64Array#indexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 - i32.const 4 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 1 + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 10 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 16 + i32.const 10368 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 1 - i32.const -100 - call $~lib/typedarray/Float64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f64.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 590 + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $2 + block $folding-inner0 + i32.const 8940 + i32.load i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f64.const 11 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if + i32.add + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 12 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $10 + loop $for-loop|0 + local.get $2 + local.get $10 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 2 + i32.shl + local.tee $7 + i32.add + local.get $6 + local.get $7 + i32.add + f32.load + local.tee $8 + local.get $8 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $8 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10480 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $1 + local.get $0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10544 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 8 + i32.add + local.set $7 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $9 + local.get $9 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $9 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10608 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10672 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=16 + local.get $1 + local.get $3 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f64.const -1 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - f64.const 3 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const 3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 593 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Uint32Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint32Array#__uget + local.tee $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store + i32.const 10800 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i32_u + local.get $5 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 i32.const 4 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) + (local $10 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 - i32.const 3 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.store offset=4 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set local.get $0 - f64.const 3 i32.const 2 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 i32.store offset=4 - local.get $0 - f64.const 1 + local.get $3 + i32.const 0 i32.const 100 - call $~lib/typedarray/Float64Array#lastIndexOf + call $~lib/typedarray/Uint8Array#__set + local.get $3 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $3 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 1 - i32.const -10 - call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 1 - i32.const -11 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 10 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Float64Array#subarray - local.tee $0 + i32.const 8848 i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 10736 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 3 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 4 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 5 + i32.const 8928 + i32.store offset=16 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 + local.set $2 + block $folding-inner0 + i32.const 8940 + i32.load i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 9 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if + i32.add + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 12 + i32.add + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $10 + loop $for-loop|0 + local.get $2 + local.get $10 + i32.lt_s + if + local.get $5 + local.get $2 + i32.const 2 + i32.shl + local.tee $7 + i32.add + local.get $6 + local.get $7 + i32.add + f32.load + local.tee $8 + local.get $8 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $8 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 10848 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $1 + local.get $0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 10912 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + i32.const 9036 + i32.load + i32.const 2 + i32.add + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 8 + i32.add + local.set $7 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $9 + local.get $9 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $9 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 10976 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $1 + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11040 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=16 + local.get $1 + local.get $3 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 10 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 11 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.store local.get $0 - f64.const 5 - i32.const 1 - call $~lib/typedarray/Float64Array#indexOf - i32.const 1 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 i32.ne if i32.const 0 i32.const 1568 - i32.const 609 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const 5 - i32.const 2 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int64Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#__uget + local.tee $5 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 11216 + i32.store + i32.const 11216 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.convert_i64_s + local.get $5 + f64.convert_i64_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -29215,410 +28128,373 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store + local.get $3 i32.const 0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 i32.const 1 - i32.shr_u + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor local.tee $2 + i32.store offset=4 local.get $2 i32.const 0 - i32.gt_s - select - local.tee $3 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $1 - local.get $2 - local.get $1 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set local.get $2 - i32.lt_s - select - local.tee $1 - local.get $1 - local.get $3 - i32.lt_s - select i32.const 1 - i32.shl + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor local.tee $4 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - i32.gt_s - select - i32.const 1 - i32.shl - local.tee $1 - i32.sub - local.tee $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end + i32.store offset=8 + local.get $4 i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set local.get $4 - local.get $2 i32.const 1 - i32.shl - i32.eq - local.get $1 - select - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=4 - local.get $2 - local.get $0 - local.get $1 - i32.add - local.get $3 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 8848 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11104 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $0 + i32.store offset=16 local.get $1 - i32.const 1 - i32.sub - local.tee $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end + local.set $0 block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_s - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 + i32.const 8940 i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 + i32.const 3 i32.add - i32.mul - i32.const 11 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 24 i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $7 loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s + local.get $0 + local.get $7 + i32.lt_s if - local.get $1 - local.get $2 - i32.const 1 + local.get $5 + local.get $0 + i32.const 3 i32.shl i32.add + local.get $6 local.get $0 - local.get $5 - i32.add - i32.load8_s - call $~lib/util/number/itoa_buffered - local.get $2 + i32.const 2 + i32.shl i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 + f32.load + local.tee $8 + local.get $8 + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $8 + i64.trunc_f32_s + else + i64.const 0 end - local.get $5 + i64.store + local.get $0 i32.const 1 i32.add - local.set $5 + local.set $0 br $for-loop|0 end end - local.get $6 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11264 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $1 local.get $3 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11376 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9036 + i32.load + i32.const 2 i32.add - i32.load8_s - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 16 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + local.get $6 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 3 + i32.shl + local.tee $7 + i32.add + local.get $5 + local.get $7 + i32.add + f64.load + local.tee $9 + local.get $9 + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $9 + i64.trunc_f64_s + else + i64.const 0 + end + i64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end end + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11488 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11600 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Int8Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $3 local.get $1 - i32.eq + i32.load offset=12 + i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store + loop $for-loop|0 local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $3 + i32.lt_s + if local.get $0 - local.tee $3 - i32.const 7 - i32.and + local.get $2 + call $~lib/typedarray/Uint64Array#__uget + local.tee $4 local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 local.get $2 - i32.const 4 - i32.ge_u - select + call $~lib/typedarray/Uint64Array#__uget + local.tee $5 + i64.ne if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 + global.get $~lib/memory/__stack_pointer + i32.const 11824 + i32.store + i32.const 11824 + i32.const 3 local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end + f64.convert_i32_s + local.get $4 + f64.convert_i64_u + local.get $5 + f64.convert_i64_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable end - i32.const 0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 0 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 f64) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -29634,311 +28510,366 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 + local.get $3 i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $3 i32.const 1 - call $~lib/typedarray/Int8Array#__set + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - local.get $1 + local.get $2 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $2 i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $2 i32.const 2 - call $~lib/typedarray/Int8Array#__set + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 10 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 8848 i32.store offset=16 local.get $1 - call $~lib/typedarray/Int8Array#join + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 11712 + call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 652 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int8Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + i32.store offset=16 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 653 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 + i32.const 8928 + i32.store offset=16 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end + local.set $0 block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_u - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 + i32.const 8940 i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 + i32.const 3 i32.add - i32.mul - i32.const 10 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 24 i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 + local.set $5 + i32.const 8932 + i32.load + local.set $6 + i32.const 8940 + i32.load + local.set $7 loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s + local.get $0 + local.get $7 + i32.lt_s if - local.get $1 - local.get $2 - i32.const 1 + local.get $5 + local.get $0 + i32.const 3 i32.shl i32.add + local.get $6 local.get $0 - local.get $5 - i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 + i32.const 2 + i32.shl i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 + f32.load + local.tee $8 + local.get $8 + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $8 + i64.trunc_f32_u + else + i64.const 0 end - local.get $5 + i64.store + local.get $0 i32.const 1 i32.add - local.set $5 + local.set $0 br $for-loop|0 end end - local.get $6 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 11872 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $1 local.get $3 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 11984 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + i32.const 9024 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9036 + i32.load + i32.const 2 i32.add - i32.load8_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 + local.get $1 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + br_if $folding-inner0 + local.get $1 + i32.load offset=4 + i32.const 16 + i32.add + local.set $3 + i32.const 9028 + i32.load + local.set $5 + i32.const 9036 + i32.load + local.set $6 + loop $for-loop|00 local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + local.get $6 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 3 + i32.shl + local.tee $7 + i32.add + local.get $5 + local.get $7 + i32.add + f64.load + local.tee $9 + local.get $9 + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $9 + i64.trunc_f64_u + else + i64.const 0 + end + i64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end end + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12096 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.store offset=16 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + local.get $1 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + local.get $1 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12208 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $1 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Uint8Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 f32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 local.get $0 - call $~lib/typedarray/Uint8Array#join + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $3 + local.get $1 + i32.load offset=12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Float32Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Float32Array#__uget + local.tee $5 + f32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12384 + i32.store + i32.const 12384 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + f64.promote_f32 + local.get $5 + f64.promote_f32 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -29954,105 +28885,472 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $2 i32.const 1 - call $~lib/typedarray/Uint8Array#__set + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 i32.store offset=4 - local.get $1 + local.get $0 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $0 i32.const 1 - i32.const 2 + i32.const 101 call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $0 i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $0 i32.const 3 + i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=8 + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 10 + call $~lib/typedarray/Float32Array#constructor + local.tee $3 i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 7424 + i32.const 8848 i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if + block $folding-inner0 + i32.const 8860 + i32.load + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 8852 + i32.load + local.set $6 + i32.const 8860 + i32.load + local.set $7 + loop $for-loop|0 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + local.tee $8 + i32.add + local.get $6 + local.get $8 + i32.add + i32.load + f32.convert_i32_s + f32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12320 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=16 + local.get $3 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 8940 + i32.load + i32.const 3 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 12 + i32.add + i32.const 8932 + i32.load + i32.const 8936 + i32.load + call $~lib/memory/memory.copy + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12432 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=16 + local.get $3 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 - i32.const 1568 - i32.const 652 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.set $1 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 6 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 24 + i32.add + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + loop $for-loop|00 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $6 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + f32.convert_i64_s + f32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|00 + end + end + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12496 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $3 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=8 + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $1 + local.get $0 + i32.load offset=4 + local.set $5 + local.get $0 + i32.load offset=8 + local.set $0 + loop $for-loop|01 + local.get $0 + local.get $2 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.add + i32.load8_u + f32.convert_i32_u + f32.store + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + i32.const 0 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 4 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 16 + i32.add + local.set $2 + local.get $4 + i32.load offset=4 + local.set $1 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|02 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s + f32.convert_i32_s + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|02 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 9116 + i32.load + i32.const 7 + i32.add + local.get $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 28 + i32.add + local.set $2 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $1 + loop $for-loop|03 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $4 + i32.add + i32.load8_s + f32.convert_i32_s + f32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|03 + end + end + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12560 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $3 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz + i32.load offset=12 + i32.ne if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + call $~lib/typedarray/Float64Array#__uget + local.tee $4 + local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array#__uget + local.tee $5 + f64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12736 + i32.store + i32.const 12736 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $4 + local.get $5 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -30068,279 +29366,433 @@ i32.const 0 i32.store offset=16 global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 i32.store + local.get $2 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor local.tee $1 i32.store offset=4 local.get $1 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set local.get $1 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set local.get $1 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7456 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 652 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $4 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 10 + call $~lib/typedarray/Float64Array#constructor + local.tee $3 i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 653 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end + i32.const 8848 + i32.store offset=16 block $folding-inner0 + i32.const 8860 + i32.load local.get $3 - i32.eqz - if + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $5 + i32.const 8852 + i32.load + local.set $6 + i32.const 8860 + i32.load + local.set $7 + loop $for-loop|0 local.get $0 - i32.load16_s - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 + local.get $7 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load + f64.convert_i32_s + f64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end end + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 12624 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store + local.get $0 + i32.store offset=16 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer + i32.const 8928 + i32.store offset=16 + i32.const 0 + local.set $0 + i32.const 8940 + i32.load + i32.const 3 + i32.add local.get $3 - i32.const 7420 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 24 + i32.add + local.set $5 + i32.const 8932 i32.load - i32.const 1 + local.set $6 + i32.const 8940 + i32.load + local.set $7 + loop $for-loop|00 + local.get $0 + local.get $7 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load + f64.promote_f32 + f64.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|00 + end + end + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 12784 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 + local.set $0 + local.get $2 + i32.load offset=8 + i32.const 3 i32.shr_u - local.tee $4 - i32.const 11 + i32.const 6 i32.add - i32.mul - i32.const 11 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 48 i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s + local.set $5 + local.get $2 + i32.load offset=4 + local.set $6 + local.get $2 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + loop $for-loop|01 + local.get $0 + local.get $2 + i32.lt_s if - local.get $1 - local.get $2 - i32.const 1 + local.get $5 + local.get $0 + i32.const 3 i32.shl + local.tee $7 + i32.add + local.get $6 + local.get $7 i32.add + i64.load + f64.convert_i64_s + f64.store local.get $0 - local.get $5 i32.const 1 - i32.shl i32.add - i32.load16_s - call $~lib/util/number/itoa_buffered + local.set $0 + br $for-loop|01 + end + end + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 12896 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=16 + local.get $3 + local.get $2 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 + local.set $2 + local.get $1 + i32.load offset=8 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + local.set $0 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + local.set $1 + loop $for-loop|02 + local.get $1 + local.get $2 + i32.gt_s + if + local.get $0 local.get $2 + i32.const 3 + i32.shl i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end + local.get $2 local.get $5 + i32.add + i32.load8_u + f64.convert_i32_u + f64.store + local.get $2 i32.const 1 i32.add - local.set $5 - br $for-loop|0 + local.set $2 + br $for-loop|02 end end - local.get $6 - local.get $1 - local.get $2 + i32.const 0 + local.set $1 + local.get $4 + i32.load offset=8 i32.const 1 - i32.shl + i32.shr_u + i32.const 4 i32.add - local.get $0 local.get $3 - i32.const 1 - i32.shl + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.gt_s + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 32 i32.add - i32.load16_s - call $~lib/util/number/itoa_buffered - local.get $2 + local.set $2 + local.get $4 + i32.load offset=4 + local.set $0 + local.get $4 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|03 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + f64.convert_i32_s + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|03 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store offset=16 + i32.const 0 + local.set $1 + i32.const 9116 + i32.load + i32.const 7 i32.add - local.tee $0 + local.get $3 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 + br_if $folding-inner0 + local.get $3 + i32.load offset=4 + i32.const 56 + i32.add + local.set $2 + i32.const 9108 + i32.load + local.set $4 + i32.const 9116 + i32.load + local.set $0 + loop $for-loop|04 local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 + local.get $1 + i32.gt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $1 + local.get $4 + i32.add + i32.load8_s + f64.convert_i32_s + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|04 + end end + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 13008 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.store offset=16 + local.get $3 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Int16Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + (func $start:std/typedarray (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (local $7 f32) + (local $8 f64) + (local $9 i64) + (local $10 f32) + (local $11 f64) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -30351,1971 +29803,1843 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store + i64.const 0 + i64.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 - i32.const 0 + i64.const 0 + i64.store offset=24 + memory.size + i32.const 16 + i32.shl + i32.const 30108 + i32.sub i32.const 1 - call $~lib/typedarray/Int16Array#__set + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1280 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1312 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1456 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/typedarray/Int32Array#__set + local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 95 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + i32.load offset=4 local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz + i32.load + i32.sub if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 96 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz + local.get $0 + i32.load offset=8 + i32.const 12 + i32.ne if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 97 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 + local.get $0 i32.const 0 - i32.lt_s + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load16_u - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Uint16Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load offset=4 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 100 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.tee $0 + i32.store local.get $0 i32.load offset=8 - i32.const 1 + i32.const 2 i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 105 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - i32.store offset=16 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 106 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Uint16Array#constructor + i32.const 8 + call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 2 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer + f64.const 4 + call $~lib/typedarray/Float64Array#__set local.get $0 - i32.store offset=4 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 local.get $0 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $0 + i32.store + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 4 + i32.ne if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 122 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.load offset=4 + local.get $0 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $1 - i32.const 7456 - call $~lib/string/String.__eq - i32.eqz + i32.const 16 + i32.ne if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 123 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + i32.load offset=8 + i32.const 32 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 124 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 - i32.add - i32.mul - i32.const 11 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end + unreachable end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + i32.const 1696 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 1696 + i32.store end + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#sort global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Int32Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + if (result i32) + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.load offset=8 i32.const 2 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 i32.const 0 - i32.store offset=16 + call $~lib/typedarray/Uint8ClampedArray#__get + if + i32.const 0 + i32.const 1568 + i32.const 135 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 136 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 255 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 137 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Int8Array#constructor local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/typedarray/Int8Array#__set + local.get $0 i32.const 1 i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/typedarray/Int8Array#__set + local.get $0 i32.const 2 i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + call $~lib/typedarray/Int8Array#__set + local.get $0 i32.const 3 i32.const 4 - call $~lib/typedarray/Int32Array#__set + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 1728 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $0 local.get $1 - i32.const 4 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 149 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + i32.const 0 + i32.const 15 + i32.const 1808 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 local.get $0 - i32.const 7456 - call $~lib/string/String.__eq + local.get $1 + call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 152 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int8Array#fill + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 1840 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.store offset=4 + local.get $0 local.get $1 - i32.store + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.const -2 + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 1872 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $1 i32.store offset=4 + local.get $0 local.get $1 - call $~lib/typedarray/Int32Array#join + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 158 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int8Array#fill + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 1904 + call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + local.get $0 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq + call $std/typedarray/isInt8ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 161 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 + local.get $0 i32.const 1 - i32.sub - local.tee $3 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i32.load - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - i32.mul - i32.const 10 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int8Array#fill + local.get $1 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 165 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Uint32Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.load offset=4 + local.get $1 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 166 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 167 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 0 + i32.const 15 + i32.const 1936 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 + local.get $2 + i32.store offset=4 + local.get $1 + local.get $2 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 168 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 1968 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store offset=4 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 + local.get $1 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 169 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.store offset=8 local.get $0 - local.tee $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2000 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $0 local.get $1 - i32.const 1 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + i32.const 5 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + i32.const 16 + i32.const 2048 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $0 local.get $1 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + i32.const 5 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set + i32.const 16 + i32.const 2096 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $0 local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.const -2 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2144 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 + local.get $0 local.get $1 - i32.const 4 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 190 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill i32.const 5 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + i32.const 2 + i32.const 16 + i32.const 2192 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 local.get $1 - call $~lib/typedarray/Uint32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 local.get $0 - i32.const 7456 - call $~lib/string/String.__eq + local.get $1 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 193 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $1 i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#fill + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.get $1 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store + i32.load offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 16 + i32.const 2240 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $2 i32.store offset=4 local.get $1 - call $~lib/typedarray/Uint32Array#join + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2272 + call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer local.get $1 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + local.get $0 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 201 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store offset=12 + local.get $0 i32.const 0 - i32.lt_s + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return + i32.const 0 + i32.const 1568 + i32.const 222 + i32.const 3 + call $~lib/builtins/abort + unreachable end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - i64.load - i32.wrap_i64 - i64.extend_i32_s - call $~lib/util/number/itoa64 - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 21 - i32.add - i32.mul - i32.const 21 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 + local.get $0 + i32.load offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 223 i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Int64Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load offset=4 + local.get $0 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 225 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $0 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 228 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 229 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=4 + local.get $0 + i32.load + i32.sub + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 231 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store offset=16 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 234 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 i32.load offset=8 i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 235 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $0 + i32.load i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 + call $~lib/typedarray/Int32Array#constructor local.tee $1 - i32.store offset=4 + i32.store offset=16 local.get $1 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int32Array#__set local.get $1 + i32.const 1 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int32Array#__set local.get $1 + i32.const 2 i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int32Array#__set local.get $1 - i32.store offset=4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set local.get $1 i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set + i32.const 5 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=12 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $0 + i32.store + local.get $1 + i32.const 0 + i32.const 3 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $0 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2320 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq + local.get $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 248 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 1 + i32.const 3 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2368 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $2 i32.store offset=4 local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 + local.get $1 + i32.const 1 + i32.const 2 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2416 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + local.get $2 + i32.store offset=4 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq + local.get $2 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 252 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 + local.get $1 + i32.const 2 + i32.const 2 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2464 + call $~lib/rt/__newArray + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $4 - i32.eqz - if - local.get $0 - i64.load - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $__inlined_func$~lib/util/number/utoa64 - local.get $3 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7296 - local.set $0 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $3 - i64.const 4294967295 - i64.le_u - if - local.get $3 - i32.wrap_i64 - local.tee $2 - call $~lib/util/number/decimalCount32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa_dec_simple - else - local.get $3 - call $~lib/util/number/decimalCount64High - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $3 - local.get $1 - call $~lib/util/number/utoa_dec_simple - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 20 - i32.add - i32.mul - i32.const 20 - i32.add - local.tee $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $5 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $5 - i32.add - local.set $2 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $7 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $4 + i32.const 0 + i32.const 1568 + i32.const 254 i32.const 3 - i32.shl - i32.add - i64.load - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Uint64Array#join (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinIntegerArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 i32.store offset=16 + local.get $1 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 i32.const 5 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store + i32.const 2 + i32.const 16 + i32.const 2512 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 + local.get $2 i32.store offset=4 local.get $1 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 256 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 local.get $1 i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $1 + i32.store offset=20 + i32.const 5 i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set + i32.const 16 + i32.const 2560 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 local.get $1 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 258 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 local.get $1 - i32.store offset=4 - local.get $1 + i32.const 1 + i32.const 2 i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 local.get $1 - call $~lib/typedarray/Uint64Array#join - local.set $0 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2608 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 - local.get $0 - i32.const 7456 - call $~lib/string/String.__eq + local.get $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 652 - i32.const 5 + i32.const 260 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.const -2 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2656 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $2 i32.store offset=4 local.get $1 - call $~lib/typedarray/Uint64Array#join - local.set $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 262 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 + local.get $1 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2704 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store offset=8 + local.get $2 + i32.store offset=4 local.get $1 - i32.const 7456 - call $~lib/string/String.__eq + local.get $2 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 1568 - i32.const 653 - i32.const 5 + i32.const 264 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 + local.get $1 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $1 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2752 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $2 + i32.store offset=4 local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - i32.mul - i32.const 28 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Float32Array#join (param $0 i32) (result i32) - (local $1 i32) + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=16 + local.get $1 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $1 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2800 + call $~lib/rt/__newArray + local.set $2 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 + local.get $2 + i32.store offset=4 + local.get $1 + local.get $2 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 268 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $0 + i32.store offset=16 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - call $~lib/util/string/joinFloatArray - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const -4 + i32.const -3 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#copyWithin + local.set $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 + local.get $0 + i32.store offset=20 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 2848 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 5 - call $~lib/typedarray/Float32Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $2 + i32.store offset=16 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 282 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=4 + local.get $2 + i32.load + i32.sub + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 283 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + i32.const 12 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice local.tee $1 - i32.store offset=4 + i32.store offset=8 local.get $1 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 287 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 288 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.load offset=8 i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer + i32.shr_u + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=4 + i32.load offset=4 local.get $1 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=12 local.get $1 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub + if + i32.const 0 + i32.const 1568 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + i32.load offset=8 i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 297 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + i32.const 2147483647 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=24 + local.get $0 local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 + i32.eq + if + i32.const 0 + i32.const 1568 + i32.const 300 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.load offset=8 + i32.const 2 + i32.shr_u local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 301 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=4 + local.get $1 + i32.load + i32.sub local.get $0 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz + i32.load offset=4 + local.get $0 + i32.load + i32.sub + i32.ne if i32.const 0 i32.const 1568 - i32.const 649 - i32.const 5 + i32.const 302 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=12 + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -32325,47 +31649,4418 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 2896 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 - local.get $1 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $1 + local.get $3 + i32.add + i32.load8_s + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $1 + local.get $0 + i32.const 2896 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + block $folding-inner12 + block $folding-inner11 + block $folding-inner10 + block $folding-inner9 + block $folding-inner8 + block $folding-inner7 + block $folding-inner6 + block $folding-inner5 + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + local.get $2 + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2928 + i32.store offset=4 + local.get $0 + i32.const 2928 + call $~lib/typedarray/Uint8Array#reduce + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 2960 + i32.store offset=4 + local.get $0 + i32.const 2960 + call $~lib/typedarray/Uint8Array#reduce + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2992 + i32.store offset=4 + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|00 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $1 + local.get $0 + i32.const 2992 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|00 + end + end + local.get $2 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3024 + i32.store offset=4 + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $4 + loop $for-loop|01 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $1 + local.get $0 + i32.const 3024 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|01 + end + end + local.get $2 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3056 + i32.store offset=4 + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|02 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $1 + local.get $0 + i32.const 3056 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|02 + end + end + local.get $2 + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3088 + i32.store offset=4 + i32.const 0 + local.set $1 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 + loop $for-loop|03 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $1 + local.get $0 + i32.const 3088 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|03 + end + end + local.get $2 + i32.const 6 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3120 + i32.store offset=4 + i32.const 0 + local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 + loop $for-loop|04 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + i32.const 4 + global.set $~argumentsLength + local.get $6 + local.get $9 + local.get $1 + local.get $0 + i32.const 3120 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $6 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|04 + end + end + local.get $6 + i64.const 6 + i64.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3152 + i32.store offset=4 + i32.const 0 + local.set $1 + i64.const 0 + local.set $6 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 + loop $for-loop|05 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + i32.const 4 + global.set $~argumentsLength + local.get $6 + local.get $9 + local.get $1 + local.get $0 + i32.const 3152 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $6 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|05 + end + end + local.get $6 + i64.const 6 + i64.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store offset=4 + i32.const 0 + local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 + loop $for-loop|06 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $10 + i32.const 4 + global.set $~argumentsLength + local.get $7 + local.get $10 + local.get $1 + local.get $0 + i32.const 3184 + i32.load + call_indirect (type $f32_f32_i32_i32_=>_f32) + local.set $7 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|06 + end + end + local.get $7 + f32.const 6 + f32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3216 + i32.store offset=4 + i32.const 0 + local.set $1 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 + loop $for-loop|07 + local.get $1 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + i32.const 4 + global.set $~argumentsLength + local.get $8 + local.get $11 + local.get $1 + local.get $0 + i32.const 3216 + i32.load + call_indirect (type $f64_f64_i32_i32_=>_f64) + local.set $8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|07 + end + end + local.get $8 + f64.const 6 + f64.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int8Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint8Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int16Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int16Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint16Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int32Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int32Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#at + i32.const 1 + i32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint32Array#at + i32.const 3 + i32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint32Array#at + i32.const 1 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#at + i64.const 1 + i64.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int64Array#at + i64.const 3 + i64.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int64Array#at + i64.const 1 + i64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#at + i64.const 1 + i64.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint64Array#at + i64.const 3 + i64.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint64Array#at + i64.const 1 + i64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#at + f32.const 1 + f32.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Float32Array#at + f32.const 3 + f32.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Float32Array#at + f32.const 1 + f32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.ne + br_if $folding-inner1 + local.get $0 + i32.const -1 + call $~lib/typedarray/Float64Array#at + f64.const 3 + f64.ne + br_if $folding-inner2 + local.get $0 + i32.const -3 + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3248 + i32.store offset=4 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|08 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $1 + local.get $3 + i32.add + i32.load8_s + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + local.get $0 + i32.const 3248 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|08 + end + end + local.get $2 + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3280 + i32.store offset=4 + local.get $0 + i32.const 3280 + call $~lib/typedarray/Uint8Array#reduceRight + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 3312 + i32.store offset=4 + local.get $0 + i32.const 3312 + call $~lib/typedarray/Uint8Array#reduceRight + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3344 + i32.store offset=4 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|09 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + local.get $0 + i32.const 3344 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|09 + end + end + local.get $2 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3376 + i32.store offset=4 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|010 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + local.get $0 + i32.const 3376 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|010 + end + end + local.get $2 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3408 + i32.store offset=4 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|011 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + local.get $0 + i32.const 3408 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|011 + end + end + local.get $2 + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3440 + i32.store offset=4 + i32.const 0 + local.set $2 + local.get $0 + i32.load offset=4 + local.set $3 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|012 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $4 + local.get $1 + local.get $0 + i32.const 3440 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $2 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|012 + end + end + local.get $2 + i32.const 6 + i32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3472 + i32.store offset=4 + i64.const 0 + local.set $6 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|013 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + i32.const 4 + global.set $~argumentsLength + local.get $6 + local.get $9 + local.get $1 + local.get $0 + i32.const 3472 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $6 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|013 + end + end + local.get $6 + i64.const 6 + i64.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3504 + i32.store offset=4 + i64.const 0 + local.set $6 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|014 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + i32.const 4 + global.set $~argumentsLength + local.get $6 + local.get $9 + local.get $1 + local.get $0 + i32.const 3504 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $6 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|014 + end + end + local.get $6 + i64.const 6 + i64.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3536 + i32.store offset=4 + f32.const 0 + local.set $7 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|015 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $10 + i32.const 4 + global.set $~argumentsLength + local.get $7 + local.get $10 + local.get $1 + local.get $0 + i32.const 3536 + i32.load + call_indirect (type $f32_f32_i32_i32_=>_f32) + local.set $7 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|015 + end + end + local.get $7 + f32.const 6 + f32.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 3568 + i32.store offset=4 + f64.const 0 + local.set $8 + local.get $0 + i32.load offset=4 + local.set $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.const 1 + i32.sub + local.set $1 + loop $for-loop|016 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $2 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + i32.const 4 + global.set $~argumentsLength + local.get $8 + local.get $11 + local.get $1 + local.get $0 + i32.const 3568 + i32.load + call_indirect (type $f64_f64_i32_i32_=>_f64) + local.set $8 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|016 + end + end + local.get $8 + f64.const 6 + f64.ne + br_if $folding-inner4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4304 + i32.store offset=4 + local.get $0 + i32.const 4304 + call $~lib/typedarray/Int8Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4336 + i32.store offset=4 + local.get $0 + i32.const 4336 + call $~lib/typedarray/Int8Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4368 + i32.store offset=4 + local.get $0 + i32.const 4368 + call $~lib/typedarray/Uint8Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4400 + i32.store offset=4 + local.get $0 + i32.const 4400 + call $~lib/typedarray/Uint8Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 4432 + i32.store offset=4 + local.get $0 + i32.const 4432 + call $~lib/typedarray/Uint8Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4464 + i32.store offset=4 + local.get $0 + i32.const 4464 + call $~lib/typedarray/Uint8Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4496 + i32.store offset=4 + local.get $0 + i32.const 4496 + call $~lib/typedarray/Int16Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4528 + i32.store offset=4 + local.get $0 + i32.const 4528 + call $~lib/typedarray/Int16Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4560 + i32.store offset=4 + local.get $0 + i32.const 4560 + call $~lib/typedarray/Uint16Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store offset=4 + local.get $0 + i32.const 4592 + call $~lib/typedarray/Uint16Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4624 + i32.store offset=4 + local.get $0 + i32.const 4624 + call $~lib/typedarray/Int32Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4656 + i32.store offset=4 + local.get $0 + i32.const 4656 + call $~lib/typedarray/Int32Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4688 + i32.store offset=4 + local.get $0 + i32.const 4688 + call $~lib/typedarray/Uint32Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4720 + i32.store offset=4 + local.get $0 + i32.const 4720 + call $~lib/typedarray/Uint32Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4752 + i32.store offset=4 + local.get $0 + i32.const 4752 + call $~lib/typedarray/Int64Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4784 + i32.store offset=4 + local.get $0 + i32.const 4784 + call $~lib/typedarray/Int64Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4816 + i32.store offset=4 + local.get $0 + i32.const 4816 + call $~lib/typedarray/Uint64Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4848 + i32.store offset=4 + local.get $0 + i32.const 4848 + call $~lib/typedarray/Uint64Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 6 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4880 + i32.store offset=4 + local.get $0 + i32.const 4880 + call $~lib/typedarray/Float32Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4912 + i32.store offset=4 + local.get $0 + i32.const 4912 + call $~lib/typedarray/Float32Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4944 + i32.store offset=4 + local.get $0 + i32.const 4944 + call $~lib/typedarray/Float64Array#some + i32.eqz + br_if $folding-inner5 + global.get $~lib/memory/__stack_pointer + i32.const 4976 + i32.store offset=4 + local.get $0 + i32.const 4976 + call $~lib/typedarray/Float64Array#some + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5008 + i32.store offset=4 + local.get $0 + i32.const 5008 + call $~lib/typedarray/Int8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5040 + i32.store offset=4 + local.get $0 + i32.const 5040 + call $~lib/typedarray/Int8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5072 + i32.store offset=4 + local.get $0 + i32.const 5072 + call $~lib/typedarray/Uint8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5104 + i32.store offset=4 + local.get $0 + i32.const 5104 + call $~lib/typedarray/Uint8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 5136 + i32.store offset=4 + local.get $0 + i32.const 5136 + call $~lib/typedarray/Uint8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5168 + i32.store offset=4 + local.get $0 + i32.const 5168 + call $~lib/typedarray/Uint8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5200 + i32.store offset=4 + local.get $0 + i32.const 5200 + call $~lib/typedarray/Int16Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5232 + i32.store offset=4 + local.get $0 + i32.const 5232 + call $~lib/typedarray/Int16Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5264 + i32.store offset=4 + local.get $0 + i32.const 5264 + call $~lib/typedarray/Uint16Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5296 + i32.store offset=4 + local.get $0 + i32.const 5296 + call $~lib/typedarray/Uint16Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5328 + i32.store offset=4 + local.get $0 + i32.const 5328 + call $~lib/typedarray/Int32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5360 + i32.store offset=4 + local.get $0 + i32.const 5360 + call $~lib/typedarray/Int32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5392 + i32.store offset=4 + local.get $0 + i32.const 5392 + call $~lib/typedarray/Uint32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5424 + i32.store offset=4 + local.get $0 + i32.const 5424 + call $~lib/typedarray/Uint32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store offset=4 + local.get $0 + i32.const 5456 + call $~lib/typedarray/Int64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5488 + i32.store offset=4 + local.get $0 + i32.const 5488 + call $~lib/typedarray/Int64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5520 + i32.store offset=4 + local.get $0 + i32.const 5520 + call $~lib/typedarray/Uint64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5552 + i32.store offset=4 + local.get $0 + i32.const 5552 + call $~lib/typedarray/Uint64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5584 + i32.store offset=4 + local.get $0 + i32.const 5584 + call $~lib/typedarray/Float32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5616 + i32.store offset=4 + local.get $0 + i32.const 5616 + call $~lib/typedarray/Float32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5648 + i32.store offset=4 + local.get $0 + i32.const 5648 + call $~lib/typedarray/Float64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner7 + global.get $~lib/memory/__stack_pointer + i32.const 5680 + i32.store offset=4 + local.get $0 + i32.const 5680 + call $~lib/typedarray/Float64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5712 + i32.store offset=4 + local.get $0 + i32.const 5712 + call $~lib/typedarray/Int8Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 5744 + i32.store offset=4 + local.get $0 + i32.const 5744 + call $~lib/typedarray/Int8Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5776 + i32.store offset=4 + local.get $0 + i32.const 5776 + call $~lib/typedarray/Uint8Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 5808 + i32.store offset=4 + local.get $0 + i32.const 5808 + call $~lib/typedarray/Uint8Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 5840 + i32.store offset=4 + local.get $0 + i32.const 5840 + call $~lib/typedarray/Uint8Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 5872 + i32.store offset=4 + local.get $0 + i32.const 5872 + call $~lib/typedarray/Uint8Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5904 + i32.store offset=4 + local.get $0 + i32.const 5904 + call $~lib/typedarray/Int16Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 5936 + i32.store offset=4 + local.get $0 + i32.const 5936 + call $~lib/typedarray/Int16Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 5968 + i32.store offset=4 + local.get $0 + i32.const 5968 + call $~lib/typedarray/Uint16Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6000 + i32.store offset=4 + local.get $0 + i32.const 6000 + call $~lib/typedarray/Uint16Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6032 + i32.store offset=4 + local.get $0 + i32.const 6032 + call $~lib/typedarray/Int32Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6064 + i32.store offset=4 + local.get $0 + i32.const 6064 + call $~lib/typedarray/Int32Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6096 + i32.store offset=4 + local.get $0 + i32.const 6096 + call $~lib/typedarray/Uint32Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6128 + i32.store offset=4 + local.get $0 + i32.const 6128 + call $~lib/typedarray/Uint32Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6160 + i32.store offset=4 + local.get $0 + i32.const 6160 + call $~lib/typedarray/Int64Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6192 + i32.store offset=4 + local.get $0 + i32.const 6192 + call $~lib/typedarray/Int64Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6224 + i32.store offset=4 + local.get $0 + i32.const 6224 + call $~lib/typedarray/Uint64Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6256 + i32.store offset=4 + local.get $0 + i32.const 6256 + call $~lib/typedarray/Uint64Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 6 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6288 + i32.store offset=4 + local.get $0 + i32.const 6288 + call $~lib/typedarray/Float32Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6320 + i32.store offset=4 + local.get $0 + i32.const 6320 + call $~lib/typedarray/Float32Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6352 + i32.store offset=4 + local.get $0 + i32.const 6352 + call $~lib/typedarray/Float64Array#every + i32.eqz + br_if $folding-inner9 + global.get $~lib/memory/__stack_pointer + i32.const 6384 + i32.store offset=4 + local.get $0 + i32.const 6384 + call $~lib/typedarray/Float64Array#every + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 6528 + i32.store offset=8 + local.get $0 + i32.const 6528 + call $~lib/typedarray/Uint8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner11 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.const 6448 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.const 6448 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 6448 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 6448 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + i32.const 6560 + i32.store offset=8 + local.get $0 + i32.const 6560 + call $~lib/typedarray/Uint8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner11 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store offset=12 + local.get $0 + i32.const 0 + f64.const nan:0x8000000000000 + call $~lib/typedarray/Float64Array#__set + local.get $0 + f64.const nan:0x8000000000000 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $1 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $3 + i32.eqz + i32.const 1 + local.get $3 + select + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|0 + local.get $1 + local.get $3 + i32.lt_s + if + i32.const 1 + i32.const 1 + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + local.tee $8 + local.get $8 + f64.ne + local.get $8 + f64.const nan:0x8000000000000 + f64.eq + select + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|0 + end + end + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store offset=24 + local.get $0 + i32.const 0 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + local.get $0 + f32.const nan:0x400000 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 636 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $1 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 0 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $3 + i32.eqz + i32.const 1 + local.get $3 + select + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $0 + i32.load offset=4 + local.set $0 + loop $while-continue|017 + local.get $1 + local.get $3 + i32.lt_s + if + i32.const 1 + i32.const 1 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.ne + local.get $7 + f32.const nan:0x400000 + f32.eq + select + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|017 + end + end + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 637 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store offset=12 + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $0 + i32.store offset=24 + local.get $0 + i32.load offset=8 + if + i32.const 0 + i32.const 1568 + i32.const 714 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store offset=12 + i32.const 2 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $0 + i32.store offset=24 + local.get $0 + i32.load offset=8 + if + i32.const 0 + i32.const 1568 + i32.const 718 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store offset=12 + local.get $1 + i32.const 0 + f32.const 400 + call $~lib/typedarray/Float32Array#__set + local.get $1 + i32.const 1 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + local.get $1 + i32.const 2 + f32.const inf + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store offset=8 + local.get $3 + i32.const 0 + i64.const -10 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i64.const 100 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 2 + i64.const 10 + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 3 + i64.const 300 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store offset=16 + local.get $2 + i32.const 0 + i32.const 300 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const -1 + call $~lib/typedarray/Int32Array#__set + i32.const 0 + local.set $4 + local.get $0 + i32.load offset=8 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 1 + i32.add + i32.lt_s + br_if $folding-inner12 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.add + local.set $5 + local.get $1 + i32.load offset=4 + local.set $12 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $1 + loop $for-loop|018 + local.get $1 + local.get $4 + i32.gt_s + if + local.get $4 + local.get $5 + i32.add + local.get $12 + local.get $4 + i32.const 2 + i32.shl + i32.add + f32.load + local.tee $7 + local.get $7 + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $7 + f32.min + f32.max + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|018 + end + end + local.get $0 + local.get $3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + i32.const 0 + local.set $1 + local.get $0 + i32.load offset=8 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.const 8 + i32.add + i32.lt_s + br_if $folding-inner12 + local.get $0 + i32.load offset=4 + i32.const 8 + i32.add + local.set $3 + local.get $2 + i32.load offset=4 + local.set $4 + local.get $2 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $5 + loop $for-loop|019 + local.get $1 + local.get $5 + i32.lt_s + if + local.get $1 + local.get $3 + i32.add + local.get $4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $2 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + local.get $2 + i32.const 255 + local.get $2 + i32.sub + i32.const 31 + i32.shr_s + i32.or + i32.and + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|019 + end + end + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 13120 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store offset=28 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + local.get $1 + i32.const 3 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store + local.get $2 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + i32.const 0 + local.set $3 + local.get $0 + i32.load offset=8 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.lt_s + br_if $folding-inner12 + local.get $0 + i32.load offset=4 + local.set $4 + local.get $1 + i32.load offset=4 + local.set $5 + local.get $1 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $1 + loop $for-loop|020 + local.get $1 + local.get $3 + i32.gt_s + if + local.get $3 + local.get $4 + i32.add + i32.const 255 + local.get $5 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $12 + local.get $12 + i32.const 255 + i32.gt_u + select + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|020 + end + end + local.get $0 + local.get $2 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 13152 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + i32.const 30108 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|021 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|021 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + i32.const 32 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1568 + i32.const 323 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 i32.const 1568 - i32.const 650 - i32.const 5 + i32.const 518 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1360 + i32.const 1632 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -32374,2653 +36069,2587 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s + local.get $0 + i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7072 - return - end - block $folding-inner0 - local.get $3 - i32.eqz - if - local.get $0 - f64.load - call $~lib/util/number/dtoa - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7420 - i32.load - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - i32.mul - i32.const 28 - i32.add - local.tee $6 - i32.const 1 - i32.shl - i32.const 1 + i32.const 12 + i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add - local.set $2 - local.get $4 - if - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7424 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $6 - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load - call $~lib/util/number/dtoa_buffered - local.get $2 - i32.add local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.store + end + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + i32.const 0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=8 + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 18 + i32.const 57 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.shl + local.tee $2 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/memory/memory.fill + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 + i32.const 12 i32.const 3 - i32.shr_u + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 7424 + local.get $1 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 i32.store - call $~lib/util/string/joinFloatArray global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> - (local $0 i32) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new local.tee $1 - i32.store offset=4 - local.get $1 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $0 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 - i32.store offset=4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 649 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 + ) + (func $~lib/typedarray/Int16Array#constructor (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 + local.get $0 + i32.const 1 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint16Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $1 i32.store global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store offset=4 local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 + local.get $0 + i32.const 1 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + local.get $0 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store offset=8 local.get $1 - i32.const 8640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 650 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $0 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $~lib/typedarray/Int64Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 - local.tee $3 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 20 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - i32.load offset=16 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.tee $3 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $4 local.get $1 - i32.lt_u - if - i32.const 1360 - i32.const 1632 - i32.const 1826 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $4 + local.get $1 + local.get $4 + i32.lt_s + select end + local.set $0 local.get $2 i32.const 0 i32.lt_s - if + if (result i32) local.get $2 - i32.const -1 - i32.eq - if (result i32) - local.get $0 - local.get $1 - i32.sub - else - i32.const 1056 - i32.const 1632 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 + local.get $4 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select else - local.get $0 local.get $2 - local.tee $0 - local.get $1 - i32.add + local.get $4 + local.get $2 + local.get $4 i32.lt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 4 + i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $3 + local.tee $1 i32.store - local.get $2 + local.get $1 local.get $3 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link - local.get $2 - local.get $0 - i32.store offset=8 - local.get $2 local.get $1 local.get $3 + i32.load offset=4 + local.get $0 + i32.const 2 + i32.shl i32.add i32.store offset=4 + local.get $1 + local.get $2 + local.get $0 + local.get $0 + local.get $2 + i32.lt_s + select + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) - (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $3 + local.tee $3 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $4 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add - local.tee $1 + local.tee $0 i32.const 0 - local.get $1 + local.get $0 i32.const 0 i32.gt_s select else local.get $1 - local.get $3 + local.get $4 local.get $1 - local.get $3 + local.get $4 i32.lt_s select end - local.set $1 - global.get $~lib/memory/__stack_pointer + local.set $0 local.get $2 i32.const 0 i32.lt_s if (result i32) local.get $2 - local.get $3 + local.get $4 i32.add - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select else local.get $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $3 - i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 + i32.store + local.get $1 + local.get $3 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.load offset=4 + local.get $0 + i32.const 3 + i32.shl + i32.add i32.store offset=4 + local.get $1 local.get $2 local.get $0 - local.get $1 - i32.add - local.get $3 - call $~lib/memory/memory.copy + local.get $0 + local.get $2 + i32.lt_s + select + local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load + local.get $0 + local.get $1 + i32.shl local.tee $4 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store offset=8 - loop $for-loop|0 - local.get $0 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end + local.set $5 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.set $1 + local.get $3 + if + local.get $1 + local.get $3 + local.get $5 + call $~lib/memory/memory.copy end - global.get $~lib/memory/__stack_pointer local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.store + i32.const 16 + local.get $2 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $3 + i32.store local.get $1 - i32.store offset=12 + local.get $3 + call $~lib/rt/itcms/__link local.get $1 - i32.load offset=4 + local.get $3 + i32.store offset=4 local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 local.get $1 + local.get $0 i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub + i32.const 4 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Int8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $5 + local.tee $3 + i32.load offset=8 + local.set $4 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $4 + local.get $1 + local.get $4 + i32.lt_s + select + end + local.set $0 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $4 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $4 + local.get $2 + local.get $4 + i32.lt_s + select + end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 + local.tee $1 i32.store - local.get $2 - local.get $0 + local.get $1 + local.get $3 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link + local.get $1 + local.get $0 + local.get $3 + i32.load offset=4 + i32.add + i32.store offset=4 + local.get $1 local.get $2 - local.get $5 - i32.store offset=8 + local.get $0 + local.get $0 local.get $2 + i32.lt_s + select local.get $0 - i32.store offset=4 + i32.sub + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=20 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $4 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Int8Array#__get - local.get $3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end + select end + local.get $1 + i32.sub + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 + i32.store + local.get $3 + i32.load offset=4 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> - (local $0 i32) + (func $~lib/typedarray/Int8Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + local.get $3 + local.get $7 + i32.add + i32.load8_s + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $3 local.get $0 + i32.const 3952 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $1 + local.get $5 + i32.add + local.get $6 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $5 local.get $1 - i32.load + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $2 local.get $0 + call $~lib/rt/itcms/__link local.get $2 local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#filter (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=20 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=4 + local.set $7 + loop $for-loop|0 local.get $3 + local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint8Array#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $3 + local.get $7 + i32.add + i32.load8_u + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $3 local.get $0 - call $~lib/typedarray/Uint8Array#__get - local.get $4 - i32.ne + i32.const 3984 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $5 + i32.add + local.get $6 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 end - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $3 + br $for-loop|0 end end + local.get $2 + local.get $5 + local.get $1 + call $~lib/rt/itcms/__renew + local.tee $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $1 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) + (func $~lib/typedarray/Uint8ClampedArray#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + local.set $4 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $4 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 + local.get $3 local.get $4 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + local.get $7 + i32.add + i32.load8_u + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $3 local.get $0 + i32.const 4016 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $1 + local.get $5 + i32.add + local.get $6 + i32.store8 + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 i32.store local.get $2 local.get $0 call $~lib/rt/itcms/__link local.get $2 - local.get $5 + local.get $1 i32.store offset=8 local.get $2 local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> - (local $0 i32) + (func $~lib/typedarray/Int16Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $3 + i32.const 1 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $4 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i32.const 16 + local.get $7 + local.get $4 + i32.const 1 i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set + i32.add + i32.load16_s + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 + i32.const 4048 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 1 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint16Array#filter (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 + i32.load offset=8 i32.const 1 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 + local.get $3 + i32.const 1 + i32.shl i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=4 + local.set $7 + loop $for-loop|0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 - call $~lib/typedarray/Int16Array#__get - local.get $3 - i32.ne + i32.const 4080 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $5 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + i32.store16 + local.get $1 + i32.const 1 + i32.add + local.set $1 end - local.get $0 + local.get $4 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $4 + br $for-loop|0 end end + local.get $2 + local.get $5 + local.get $1 + i32.const 1 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew + local.tee $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> - (local $0 i32) + (func $~lib/typedarray/Int32Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $3 + i32.const 2 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $4 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - i32.const 1 + local.get $7 + local.get $4 + i32.const 2 + i32.shl i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer + i32.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 + local.get $0 + i32.const 4112 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint32Array#filter (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 1 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 7 + i32.const 9 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 + local.get $3 + i32.const 2 + i32.shl i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=4 + local.set $7 + loop $for-loop|0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint16Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 - call $~lib/typedarray/Uint16Array#__get - local.get $3 - i32.ne + i32.const 4144 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 end - local.get $0 + local.get $4 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $4 + br $for-loop|0 end end + local.get $2 + local.get $5 + local.get $1 + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew + local.tee $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> - (local $0 i32) + (func $~lib/typedarray/Int64Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i64) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $3 + i32.const 3 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $4 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + local.get $7 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 + i32.const 4176 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + local.get $5 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 3 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint64Array#filter (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 + i32.load offset=8 i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 8 + i32.const 11 call $~lib/rt/itcms/__new local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 i32.store - local.get $2 - local.get $0 - call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 - local.get $0 - i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 + local.get $3 + i32.const 3 + i32.shl i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=4 + local.get $0 + i32.load offset=4 + local.set $7 + loop $for-loop|0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int32Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $7 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 - call $~lib/typedarray/Int32Array#__get - local.get $3 - i32.ne + i32.const 4208 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $5 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 end - local.get $0 + local.get $4 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $4 + br $for-loop|0 end end + local.get $2 + local.get $5 + local.get $1 + i32.const 3 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew + local.tee $0 + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> - (local $0 i32) + (func $~lib/typedarray/Float32Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 f32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $3 + i32.const 2 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 + local.get $3 local.get $4 - i32.lt_s + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + local.get $7 + local.get $4 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 + i32.const 4240 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $6 + f32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 2 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - local.tee $2 - local.set $5 - local.get $2 - i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 i32.store local.get $2 local.get $0 call $~lib/rt/itcms/__link local.get $2 - local.get $5 + local.get $3 i32.store offset=8 local.get $2 local.get $0 i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint32Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Uint32Array#__get - local.get $3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> - (local $0 i32) + (func $~lib/typedarray/Float64Array#filter (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) + (local $6 f64) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $3 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $2 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8768 + local.get $3 + i32.const 3 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $5 i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $0 local.get $3 - i32.lt_s + local.get $4 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set + local.get $7 + local.get $4 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $6 + i32.const 3 + global.set $~argumentsLength + local.get $6 + local.get $4 local.get $0 + i32.const 4272 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + if + local.get $5 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $6 + f64.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + end + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 - i32.load offset=4 + local.get $5 local.get $1 - i32.load - i32.sub - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice + i32.const 3 + i32.shl + local.tee $3 + call $~lib/rt/itcms/__renew local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=8 + local.get $2 local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#subarray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.load offset=8 local.tee $2 - local.set $5 local.get $2 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 10 + i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 + local.tee $1 i32.store - local.get $2 + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 + local.get $1 + local.get $3 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.load offset=4 i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=4 + local.get $1 local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Int64Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Int64Array#__get - local.get $6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i64) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store offset=8 - loop $for-loop|0 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load + i32.const 4 + local.get $0 + i32.load offset=8 local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 + local.get $2 + i32.const 4 + i32.gt_s + select + local.set $3 local.get $1 - i32.load - i32.sub - local.set $0 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select + end + local.set $2 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $2 local.get $0 + i32.load + local.tee $4 + i32.store local.get $1 - i32.load offset=8 + local.get $4 + call $~lib/rt/itcms/__link local.get $1 + local.get $3 + local.get $0 i32.load offset=4 - local.get $1 - i32.load - i32.sub i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + local.get $1 + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.load offset=8 + i32.const 1 + i32.shr_u local.tee $2 - local.set $5 local.get $2 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 + i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 + local.tee $1 i32.store - local.get $2 + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=4 + local.get $1 local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - local.get $6 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 f32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store offset=8 - loop $for-loop|0 - local.get $0 - local.get $3 + i32.const 4 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $2 + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end + select end + local.set $2 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store local.get $1 + local.get $0 i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 + local.tee $4 + i32.store local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/rt/itcms/__link local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $2 local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 i32.load offset=4 - local.get $1 - i32.load - i32.sub + local.get $3 + i32.const 1 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 + local.get $1 + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub i32.const 1 - global.set $~argumentsLength + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.load offset=8 + i32.const 2 + i32.shr_u local.tee $2 - local.set $5 local.get $2 - i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 12 + i32.const 9 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 + local.tee $1 i32.store - local.get $2 + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=4 + local.get $1 local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Float32Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Float32Array#__get - local.get $6 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 f64) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8768 + i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8780 - i32.load - local.tee $3 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store offset=8 - loop $for-loop|0 - local.get $0 - local.get $3 + i32.const 4 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.tee $2 + local.get $2 + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8768 - i32.store offset=12 - local.get $1 - local.get $0 - i32.const 8768 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end + select end + local.set $2 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store local.get $1 + local.get $0 i32.load - local.tee $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.load offset=4 + local.tee $4 + i32.store local.get $1 - i32.load - i32.sub - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/rt/itcms/__link local.get $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $2 local.get $0 - local.get $1 - i32.load offset=8 - local.get $1 i32.load offset=4 - local.get $1 - i32.load - i32.sub + local.get $3 + i32.const 3 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store offset=4 - i32.const 1 - global.set $~argumentsLength + local.get $1 + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 + i32.const 4 local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.load offset=8 + i32.const 3 + i32.shr_u local.tee $2 - local.set $5 local.get $2 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.gt_s + select + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 13 + i32.const 11 call $~lib/rt/itcms/__new - local.tee $2 - i32.store offset=8 - local.get $2 - local.get $0 + local.tee $1 i32.store - local.get $2 + local.get $1 local.get $0 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 call $~lib/rt/itcms/__link - local.get $2 - local.get $5 - i32.store offset=8 - local.get $2 + local.get $1 local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.store offset=4 + local.get $1 local.get $2 - i32.store offset=20 - i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - local.get $0 - call $~lib/typedarray/Float64Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $0 - call $~lib/typedarray/Float64Array#__get - local.get $6 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.const 3 + i32.shl + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 + i32.const 4 local.get $0 i32.load offset=8 + i32.const 2 + i32.shr_u + local.tee $2 + local.get $2 + i32.const 4 i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - i32.const 8852 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load + select local.set $3 - loop $for-loop|0 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) local.get $1 - local.get $3 + local.get $2 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $2 + local.get $1 + local.get $2 i32.lt_s - if - local.get $0 - local.get $1 - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end + select end + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $1 + local.get $4 + call $~lib/rt/itcms/__link + local.get $1 + local.get $0 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $1 + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.gt_s + select + local.get $3 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (func $~lib/util/number/itoa32 (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35029,16609 +38658,1108 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7296 + return + end + i32.const 0 local.get $0 - i32.load offset=8 + i32.sub + local.get $0 + local.get $0 + i32.const 31 + i32.shr_u + local.tee $1 + select + local.tee $2 + call $~lib/util/number/decimalCount32 + local.get $1 + i32.add local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 i32.store + local.get $0 + local.get $2 local.get $3 + call $~lib/util/number/utoa_dec_simple local.get $1 - i32.load offset=12 - i32.ne if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $2 - local.get $0 - i32.load offset=4 - i32.add - i32.load8_s - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $2 - local.get $1 - i32.load offset=4 - i32.add - i32.load8_s - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 9184 - i32.store - i32.const 9184 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $0 + i32.const 45 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 f32) + (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 3 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + i32.const 0 local.get $0 - i32.load offset=4 - i32.const 3 - i32.add - local.set $2 - i32.const 8932 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $2 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer + i32.gt_s + select + local.tee $3 local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - i32.store offset=8 + i32.const 0 + i32.gt_s + select + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.lt_s + select + local.tee $1 local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 local.get $3 - i32.const 6 - i32.add i32.lt_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $1 + i32.sub + local.tee $3 + i32.eqz if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return end - local.get $0 - i32.load offset=4 - i32.const 6 - i32.add - local.set $0 + i32.const 0 + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.eq local.get $1 - i32.load offset=4 - local.set $3 + select + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.add - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + i32.add + local.get $3 + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 f64) + (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 2 - i32.add + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s + block $folding-inner0 + local.get $3 + i32.eqz if - local.get $1 - local.get $2 - i32.add local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 + i32.load8_s + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + i32.mul + i32.const 11 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_s - else - i32.const 0 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.store8 + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (func $~lib/util/number/utoa32 (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 local.get $0 - i32.load offset=8 - i32.gt_s + i32.eqz if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7296 + return end local.get $0 - i32.load offset=4 + call $~lib/util/number/decimalCount32 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 local.get $1 - i32.load offset=8 - call $~lib/memory/memory.copy + call $~lib/util/number/utoa_dec_simple global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $1 - i32.load offset=8 i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $3 - i32.const 4 - i32.add + i32.sub + local.tee $3 + i32.const 0 i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return end - local.get $0 - i32.load offset=4 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s + block $folding-inner0 + local.get $3 + i32.eqz if local.get $0 - local.get $2 - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + i32.load8_u + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 local.get $1 - i32.const 7 - i32.add + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i32.load16_s + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + i32.mul + i32.const 11 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - local.get $0 - i32.load offset=4 - i32.const 7 - i32.add - i32.const 9108 - i32.load - i32.const 9112 - i32.load - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> - (local $0 i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + i32.store local.get $1 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i32.load16_u + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.store + local.get $1 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + i32.sub local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 i32.const 0 - i32.const 15 - i32.const 9152 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9232 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9264 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9296 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9328 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return end - loop $for-loop|0 - local.get $2 + block $folding-inner0 local.get $3 - i32.lt_s + i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $2 local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $5 - local.set $6 - local.get $4 + i32.load + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + i32.mul + i32.const 11 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 local.get $5 - i32.ne + i32.gt_s if - global.get $~lib/memory/__stack_pointer - i32.const 9392 - i32.store - i32.const 9392 - i32.const 3 + local.get $1 local.get $2 - f64.convert_i32_s + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 local.get $4 - f64.convert_i32_u - local.get $6 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 3 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 3 - i32.add - local.set $2 - i32.const 8932 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 + local.get $6 local.get $1 - local.get $4 - i32.lt_s + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s if local.get $1 - local.get $2 - i32.add local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 f64) + (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 2 - i32.add + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s + block $folding-inner0 + local.get $3 + i32.eqz if - local.get $1 - local.get $2 - i32.add local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i32.load + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9360 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9440 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9472 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9504 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9536 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $2 - i32.const 8852 - i32.load - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $2 - i32.add - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $2 - local.get $0 - i32.load offset=4 - i32.add - i32.load8_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.load offset=4 - i32.add - i32.load8_u - local.tee $5 - local.set $6 - local.get $4 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + i32.mul + i32.const 10 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 local.get $5 - i32.ne + i32.gt_s if - global.get $~lib/memory/__stack_pointer - i32.const 9600 - i32.store - i32.const 9600 - i32.const 3 + local.get $1 local.get $2 - f64.convert_i32_s + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 local.get $4 - f64.convert_i32_u - local.get $6 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 3 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 3 - i32.add - local.set $2 - i32.const 8932 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 + local.get $6 local.get $1 - local.get $4 - i32.lt_s + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s if local.get $1 - local.get $2 - i32.add local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $3 - f32.min - f32.max - i32.trunc_f32_u - else - i32.const 0 - end - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - local.get $5 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - i32.load offset=4 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - local.get $0 - local.get $3 - i32.add - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - local.tee $4 - i32.wrap_i64 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i64.extend_i32_s - local.get $4 - i32.const 255 - local.get $4 - i32.wrap_i64 - i32.sub - i32.const 31 - i32.shr_s - i64.extend_i32_s - i64.or - i64.and - i64.store8 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 2 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 2 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - f64.const 0 - f64.const 255 - local.get $3 - f64.min - f64.max - i32.trunc_f64_u - else - i32.const 0 - end - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - local.get $4 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - i32.load offset=4 - i32.add - local.set $2 - local.get $1 - i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - local.get $2 - local.get $3 - i32.add - local.get $4 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.tee $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $2 - i32.const 7 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 7 - i32.add - local.set $2 - i32.const 9108 - i32.load - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $2 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_s - local.tee $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9568 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9664 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9696 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9728 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9760 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - i32.const 8852 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Int16Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Int16Array#__uget - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 9840 - i32.store - i32.const 9840 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 6 - i32.add - local.set $2 - i32.const 8932 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 6 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 12 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 4 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_s - else - i32.const 0 - end - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_u - i32.store16 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 8 - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 7 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 14 - i32.add - local.set $0 - i32.const 9108 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_s - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9792 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9888 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9936 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 64 - i32.const 9984 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10032 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Uint16Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint16Array#__uget - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 10128 - i32.store - i32.const 10128 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_u - local.get $5 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 6 - i32.add - local.set $2 - i32.const 8932 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 4 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store16 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10080 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10176 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10224 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10272 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 10320 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 8852 - i32.load - i32.const 8856 - i32.load - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Int32Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Int32Array#__uget - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 10432 - i32.store - i32.const 10432 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 12 - i32.add - local.set $1 - i32.const 8932 - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $1 - local.get $2 - i32.const 2 - i32.shl - local.tee $0 - i32.add - local.get $0 - local.get $4 - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 6 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 24 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store32 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 8 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_s - else - i32.const 0 - end - i32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_u - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 16 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 7 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 28 - i32.add - local.set $0 - i32.const 9108 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_s - i32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10368 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10480 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10544 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10608 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10672 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Uint32Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint32Array#__uget - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store - i32.const 10800 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i32_u - local.get $5 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 12 - i32.add - local.set $1 - i32.const 8932 - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $1 - local.get $2 - i32.const 2 - i32.shl - local.tee $0 - i32.add - local.get $0 - local.get $4 - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $3 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 8 - i32.add - local.set $2 - i32.const 9028 - i32.load - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $3 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10736 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10848 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10912 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 10976 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 66 - i32.const 11040 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - i32.const 8852 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i64.load32_s - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Int64Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#__uget - local.tee $5 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11216 - i32.store - i32.const 11216 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i64_s - local.get $5 - f64.convert_i64_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 24 - i32.add - local.set $0 - i32.const 8932 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $3 - i64.trunc_f32_s - else - i64.const 0 - end - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 6 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 48 - i32.add - local.get $1 - i32.load offset=4 - local.get $1 - i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 16 - i32.add - local.set $0 - i32.const 9028 - i32.load - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - local.get $0 - i32.add - local.get $1 - local.get $5 - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $3 - i64.trunc_f64_s - else - i64.const 0 - end - i64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.add - i64.load8_u - i64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 32 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i64.load16_s - i64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 7 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 56 - i32.add - local.set $0 - i32.const 9108 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i64.load8_s - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11104 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11264 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11376 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11488 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11600 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Uint64Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint64Array#__uget - local.tee $5 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11824 - i32.store - i32.const 11824 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.convert_i64_u - local.get $5 - f64.convert_i64_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 24 - i32.add - local.set $0 - i32.const 8932 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $3 - i64.trunc_f32_u - else - i64.const 0 - end - i64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 2 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 16 - i32.add - local.set $0 - i32.const 9028 - i32.load - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=8 - i32.const 9036 - i32.load - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $2 - i32.const 3 - i32.shl - local.tee $5 - local.get $0 - i32.add - local.get $1 - local.get $5 - i32.add - f64.load - local.tee $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $3 - i64.trunc_f64_u - else - i64.const 0 - end - i64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11712 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11872 - call $~lib/rt/__newArray - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 11984 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9024 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12096 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12208 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - (local $5 f32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Float32Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Float32Array#__uget - local.tee $5 - f32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12384 - i32.store - i32.const 12384 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - f64.promote_f32 - local.get $5 - f64.promote_f32 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 6 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 24 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load - f32.convert_i64_s - f32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 16 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - f32.convert_i32_s - f32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 7 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 28 - i32.add - local.set $0 - i32.const 9108 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_s - f32.convert_i32_s - f32.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - block $folding-inner0 - local.get $5 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $5 - i32.const 8852 - i32.load - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $7 - loop $for-loop|0 - local.get $3 - local.get $7 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 2 - i32.shl - local.tee $8 - i32.add - local.get $6 - local.get $8 - i32.add - i32.load - f32.convert_i32_s - f32.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12320 - call $~lib/rt/__newArray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - i32.const 12 - i32.add - i32.const 8932 - i32.load - i32.const 8936 - i32.load - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12432 - call $~lib/rt/__newArray - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12496 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|00 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.add - i32.load8_u - f32.convert_i32_u - f32.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12560 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - i32.const 8852 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=8 - i32.const 8860 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - f64.convert_i32_s - f64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $3 - local.get $1 - i32.load offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $2 - call $~lib/typedarray/Float64Array#__uget - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $4 - local.get $1 - local.get $2 - call $~lib/typedarray/Float64Array#__uget - local.tee $5 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12736 - i32.store - i32.const 12736 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $4 - local.get $5 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 3 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 24 - i32.add - local.set $0 - i32.const 8932 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=8 - i32.const 8940 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - f64.promote_f32 - f64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 6 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 48 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - local.get $3 - i32.const 3 - i32.shl - local.tee $4 - local.get $0 - i32.add - local.get $2 - local.get $4 - i32.add - i64.load - f64.convert_i64_s - f64.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 4 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 32 - i32.add - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s - f64.convert_i32_s - f64.store - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - i32.const 7 - i32.add - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 56 - i32.add - local.set $0 - i32.const 9108 - i32.load - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=8 - i32.const 9116 - i32.load - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_s - f64.convert_i32_s - f64.store - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=4 - local.get $4 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8848 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 12624 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8928 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 12784 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=20 - local.get $0 - local.get $3 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 12896 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=20 - local.get $0 - local.get $2 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $3 - local.get $1 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $5 - i32.gt_s - if - local.get $3 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.add - i32.load8_u - f64.convert_i32_u - f64.store - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store offset=20 - local.get $0 - local.get $4 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store offset=20 - local.get $0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13008 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=20 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $3 - i32.const 1 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 1 - i32.add - local.set $3 - local.get $1 - i32.load offset=4 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $4 - local.get $4 - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $4 - f32.min - f32.max - i32.trunc_f32_u - else - i32.const 0 - end - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.get $3 - i32.const 8 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.load offset=4 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $2 - local.get $3 - i32.add - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - local.get $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - i32.and - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.set $0 - local.get $1 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.gt_s - if - local.get $0 - local.get $2 - i32.add - i32.const 255 - local.get $3 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load - local.tee $4 - local.get $4 - i32.const 255 - i32.gt_u - select - i32.store8 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/typedarray - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 f32) - (local $7 f64) - (local $8 i32) - (local $9 i64) - (local $10 f32) - (local $11 f64) - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=32 - memory.size - i32.const 16 - i32.shl - i32.const 30108 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1280 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 1312 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 1456 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 95 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 122 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.const 16 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 123 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 32 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 124 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 1696 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1696 - i32.store - end - local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array#sort - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else - i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else - i32.const 0 - end - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - if - i32.const 0 - i32.const 1568 - i32.const 135 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 137 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1728 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 149 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1808 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 152 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1840 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 155 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1872 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 158 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1904 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int8Array#fill - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 165 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 166 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 167 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 3 - i32.const 0 - i32.const 15 - i32.const 1936 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 168 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 1968 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 169 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2000 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 181 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2048 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2096 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2144 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 190 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2192 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#fill - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 197 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 199 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 3 - i32.const 2 - i32.const 16 - i32.const 2240 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 200 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2272 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 201 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $0 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 222 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 223 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 224 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 225 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 229 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 230 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 231 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 234 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 235 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 236 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 237 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 0 - i32.const 3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2320 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 248 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 1 - i32.const 3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2368 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 250 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 1 - i32.const 2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2416 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 252 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 2 - i32.const 2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2464 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 254 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2512 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 256 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2560 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 258 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2608 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 260 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 0 - i32.const -2 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2656 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 262 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2704 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 264 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2752 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 266 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=24 - local.get $1 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2800 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $1 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 268 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $0 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=24 - local.get $0 - i32.const -4 - i32.const -3 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 2848 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $2 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 282 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.load offset=4 - local.get $2 - i32.load - i32.sub - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 283 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - i32.const 12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 284 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 287 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 288 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 289 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 290 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 294 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 296 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 297 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - i32.const 2147483647 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=28 - local.get $0 - local.get $1 - i32.eq - if - i32.const 0 - i32.const 1568 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=8 - i32.const 2 - i32.shr_u - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 301 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.load offset=4 - local.get $1 - i32.load - i32.sub - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.get $0 - i32.load - i32.sub - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - local.get $0 - i32.load offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2896 - i32.store offset=8 - i32.const 0 - local.set $1 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 2896 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $8 - local.get $1 - local.get $0 - i32.const 2896 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - block $folding-inner6 - block $folding-inner5 - block $folding-inner4 - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - local.get $2 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2928 - i32.store offset=8 - local.get $0 - i32.const 2928 - call $~lib/typedarray/Uint8Array#reduce - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store offset=8 - local.get $0 - i32.const 2960 - call $~lib/typedarray/Uint8Array#reduce - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2992 - i32.store offset=8 - i32.const 0 - local.set $1 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 2992 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|00 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $8 - local.get $1 - local.get $0 - i32.const 2992 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|00 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3024 - i32.store offset=8 - i32.const 0 - local.set $1 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3024 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|01 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $8 - local.get $1 - local.get $0 - i32.const 3024 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|01 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3056 - i32.store offset=8 - i32.const 0 - local.set $1 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3056 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|02 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $8 - local.get $1 - local.get $0 - i32.const 3056 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|02 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3088 - i32.store offset=8 - i32.const 0 - local.set $1 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3088 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $4 - loop $for-loop|03 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $8 - local.get $1 - local.get $0 - i32.const 3088 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|03 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 6 - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3120 - i32.store offset=8 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3120 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - loop $for-loop|04 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $5 - local.get $9 - local.get $1 - local.get $0 - i32.const 3120 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $5 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|04 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i64.const 6 - i64.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store offset=8 - i32.const 0 - local.set $1 - i64.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - loop $for-loop|05 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $5 - local.get $9 - local.get $1 - local.get $0 - i32.const 3152 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $5 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|05 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i64.const 6 - i64.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3184 - i32.store offset=8 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3184 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|06 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $6 - local.get $10 - local.get $1 - local.get $0 - i32.const 3184 - i32.load - call_indirect (type $f32_f32_i32_i32_=>_f32) - local.set $6 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|06 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - f32.const 6 - f32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3216 - i32.store offset=8 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3216 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $3 - loop $for-loop|07 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $7 - local.get $11 - local.get $1 - local.get $0 - i32.const 3216 - i32.load - call_indirect (type $f64_f64_i32_i32_=>_f64) - local.set $7 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|07 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - f64.const 6 - f64.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3248 - i32.store offset=8 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3248 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|08 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $1 - local.get $0 - i32.const 3248 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|08 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3280 - i32.store offset=8 - local.get $0 - i32.const 3280 - call $~lib/typedarray/Uint8Array#reduceRight - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3312 - i32.store offset=8 - local.get $0 - i32.const 3312 - call $~lib/typedarray/Uint8Array#reduceRight - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3344 - i32.store offset=8 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3344 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|09 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $1 - local.get $0 - i32.const 3344 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|09 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3376 - i32.store offset=8 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3376 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|010 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $1 - local.get $0 - i32.const 3376 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|010 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3408 - i32.store offset=8 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3408 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|011 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $1 - local.get $0 - i32.const 3408 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|011 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3440 - i32.store offset=8 - i32.const 0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3440 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|012 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $2 - local.get $4 - local.get $1 - local.get $0 - i32.const 3440 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $2 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|012 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - i32.const 6 - i32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3472 - i32.store offset=8 - i64.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3472 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|013 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $5 - local.get $9 - local.get $1 - local.get $0 - i32.const 3472 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $5 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|013 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i64.const 6 - i64.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store offset=8 - i64.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|014 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $5 - local.get $9 - local.get $1 - local.get $0 - i32.const 3504 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $5 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|014 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - i64.const 6 - i64.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3536 - i32.store offset=8 - f32.const 0 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3536 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|015 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $6 - local.get $10 - local.get $1 - local.get $0 - i32.const 3536 - i32.load - call_indirect (type $f32_f32_i32_i32_=>_f32) - local.set $6 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|015 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - f32.const 6 - f32.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 3568 - i32.store offset=8 - f64.const 0 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 3568 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|016 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 4 - global.set $~argumentsLength - local.get $7 - local.get $11 - local.get $1 - local.get $0 - i32.const 3568 - i32.load - call_indirect (type $f64_f64_i32_i32_=>_f64) - local.set $7 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|016 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - f64.const 6 - f64.ne - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4304 - i32.store offset=8 - local.get $0 - i32.const 4304 - call $~lib/typedarray/Int8Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4336 - i32.store offset=8 - local.get $0 - i32.const 4336 - call $~lib/typedarray/Int8Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4368 - i32.store offset=8 - local.get $0 - i32.const 4368 - call $~lib/typedarray/Uint8Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4400 - i32.store offset=8 - local.get $0 - i32.const 4400 - call $~lib/typedarray/Uint8Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4432 - i32.store offset=8 - local.get $0 - i32.const 4432 - call $~lib/typedarray/Uint8Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4464 - i32.store offset=8 - local.get $0 - i32.const 4464 - call $~lib/typedarray/Uint8Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4496 - i32.store offset=8 - local.get $0 - i32.const 4496 - call $~lib/typedarray/Int16Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4528 - i32.store offset=8 - local.get $0 - i32.const 4528 - call $~lib/typedarray/Int16Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store offset=8 - local.get $0 - i32.const 4560 - call $~lib/typedarray/Uint16Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store offset=8 - local.get $0 - i32.const 4592 - call $~lib/typedarray/Uint16Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4624 - i32.store offset=8 - local.get $0 - i32.const 4624 - call $~lib/typedarray/Int32Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store offset=8 - local.get $0 - i32.const 4656 - call $~lib/typedarray/Int32Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4688 - i32.store offset=8 - local.get $0 - i32.const 4688 - call $~lib/typedarray/Uint32Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4720 - i32.store offset=8 - local.get $0 - i32.const 4720 - call $~lib/typedarray/Uint32Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4752 - i32.store offset=8 - local.get $0 - i32.const 4752 - call $~lib/typedarray/Int64Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4784 - i32.store offset=8 - local.get $0 - i32.const 4784 - call $~lib/typedarray/Int64Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4816 - i32.store offset=8 - local.get $0 - i32.const 4816 - call $~lib/typedarray/Uint64Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4848 - i32.store offset=8 - local.get $0 - i32.const 4848 - call $~lib/typedarray/Uint64Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4880 - i32.store offset=8 - local.get $0 - i32.const 4880 - call $~lib/typedarray/Float32Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4912 - i32.store offset=8 - local.get $0 - i32.const 4912 - call $~lib/typedarray/Float32Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4944 - i32.store offset=8 - local.get $0 - i32.const 4944 - call $~lib/typedarray/Float64Array#some - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4976 - i32.store offset=8 - local.get $0 - i32.const 4976 - call $~lib/typedarray/Float64Array#some - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5008 - i32.store offset=8 - local.get $0 - i32.const 5008 - call $~lib/typedarray/Int8Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5040 - i32.store offset=8 - local.get $0 - i32.const 5040 - call $~lib/typedarray/Int8Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store offset=8 - local.get $0 - i32.const 5072 - call $~lib/typedarray/Uint8Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store offset=8 - local.get $0 - i32.const 5104 - call $~lib/typedarray/Uint8Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5136 - i32.store offset=8 - local.get $0 - i32.const 5136 - call $~lib/typedarray/Uint8Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store offset=8 - local.get $0 - i32.const 5168 - call $~lib/typedarray/Uint8Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5200 - i32.store offset=8 - local.get $0 - i32.const 5200 - call $~lib/typedarray/Int16Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5232 - i32.store offset=8 - local.get $0 - i32.const 5232 - call $~lib/typedarray/Int16Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5264 - i32.store offset=8 - local.get $0 - i32.const 5264 - call $~lib/typedarray/Uint16Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5296 - i32.store offset=8 - local.get $0 - i32.const 5296 - call $~lib/typedarray/Uint16Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5328 - i32.store offset=8 - local.get $0 - i32.const 5328 - call $~lib/typedarray/Int32Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5360 - i32.store offset=8 - local.get $0 - i32.const 5360 - call $~lib/typedarray/Int32Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5392 - i32.store offset=8 - local.get $0 - i32.const 5392 - call $~lib/typedarray/Uint32Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store offset=8 - local.get $0 - i32.const 5424 - call $~lib/typedarray/Uint32Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store offset=8 - local.get $0 - i32.const 5456 - call $~lib/typedarray/Int64Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5488 - i32.store offset=8 - local.get $0 - i32.const 5488 - call $~lib/typedarray/Int64Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5520 - i32.store offset=8 - local.get $0 - i32.const 5520 - call $~lib/typedarray/Uint64Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5552 - i32.store offset=8 - local.get $0 - i32.const 5552 - call $~lib/typedarray/Uint64Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5584 - i32.store offset=8 - local.get $0 - i32.const 5584 - call $~lib/typedarray/Float32Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store offset=8 - local.get $0 - i32.const 5616 - call $~lib/typedarray/Float32Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5648 - i32.store offset=8 - local.get $0 - i32.const 5648 - call $~lib/typedarray/Float64Array#findIndex - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5680 - i32.store offset=8 - local.get $0 - i32.const 5680 - call $~lib/typedarray/Float64Array#findIndex - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5712 - i32.store offset=8 - local.get $0 - i32.const 5712 - call $~lib/typedarray/Int8Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5744 - i32.store offset=8 - local.get $0 - i32.const 5744 - call $~lib/typedarray/Int8Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5776 - i32.store offset=8 - local.get $0 - i32.const 5776 - call $~lib/typedarray/Uint8Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5808 - i32.store offset=8 - local.get $0 - i32.const 5808 - call $~lib/typedarray/Uint8Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5840 - i32.store offset=8 - local.get $0 - i32.const 5840 - call $~lib/typedarray/Uint8Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5872 - i32.store offset=8 - local.get $0 - i32.const 5872 - call $~lib/typedarray/Uint8Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5904 - i32.store offset=8 - local.get $0 - i32.const 5904 - call $~lib/typedarray/Int16Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5936 - i32.store offset=8 - local.get $0 - i32.const 5936 - call $~lib/typedarray/Int16Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5968 - i32.store offset=8 - local.get $0 - i32.const 5968 - call $~lib/typedarray/Uint16Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6000 - i32.store offset=8 - local.get $0 - i32.const 6000 - call $~lib/typedarray/Uint16Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6032 - i32.store offset=8 - local.get $0 - i32.const 6032 - call $~lib/typedarray/Int32Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6064 - i32.store offset=8 - local.get $0 - i32.const 6064 - call $~lib/typedarray/Int32Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6096 - i32.store offset=8 - local.get $0 - i32.const 6096 - call $~lib/typedarray/Uint32Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6128 - i32.store offset=8 - local.get $0 - i32.const 6128 - call $~lib/typedarray/Uint32Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6160 - i32.store offset=8 - local.get $0 - i32.const 6160 - call $~lib/typedarray/Int64Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6192 - i32.store offset=8 - local.get $0 - i32.const 6192 - call $~lib/typedarray/Int64Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6224 - i32.store offset=8 - local.get $0 - i32.const 6224 - call $~lib/typedarray/Uint64Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6256 - i32.store offset=8 - local.get $0 - i32.const 6256 - call $~lib/typedarray/Uint64Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6288 - i32.store offset=8 - local.get $0 - i32.const 6288 - call $~lib/typedarray/Float32Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6320 - i32.store offset=8 - local.get $0 - i32.const 6320 - call $~lib/typedarray/Float32Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6352 - i32.store offset=8 - local.get $0 - i32.const 6352 - call $~lib/typedarray/Float64Array#every - i32.eqz - br_if $folding-inner4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6384 - i32.store offset=8 - local.get $0 - i32.const 6384 - call $~lib/typedarray/Float64Array#every - br_if $folding-inner5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6656 - i32.store offset=8 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6656 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|017 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6656 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|017 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 0 - i32.const 6448 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 1 - i32.const 6448 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store offset=8 - local.get $0 - i32.const 2 - i32.const 6448 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 6688 - i32.store offset=8 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 6688 - i32.store offset=4 - local.get $0 - i32.load offset=4 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=8 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|018 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=12 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - i32.const 6688 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|018 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f64.const nan:0x8000000000000 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - i32.const 1 - local.get $3 - select - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|0 - local.get $1 - local.get $3 - i32.lt_s - if - i32.const 1 - i32.const 1 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - local.tee $7 - local.get $7 - f64.ne - local.get $7 - f64.const nan:0x8000000000000 - f64.eq - select - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.const 0 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - f32.const nan:0x400000 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 636 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 0 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - i32.const 1 - local.get $3 - select - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $0 - i32.load offset=4 - local.set $0 - loop $while-continue|019 - local.get $1 - local.get $3 - i32.lt_s - if - i32.const 1 - i32.const 1 - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load - local.tee $6 - local.get $6 - f32.ne - local.get $6 - f32.const nan:0x400000 - f32.eq - select - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|019 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 637 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 714 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 2 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - local.get $0 - i32.load offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 718 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store offset=28 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - f32.const 400 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f32.const inf - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const -10 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 100 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 10 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i64.const 300 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=20 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 300 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const -1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $0 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $0 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 13120 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store offset=32 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $0 - local.get $2 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store offset=4 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 13152 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $0 - local.get $1 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - i32.const 30108 - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|020 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|020 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 0 - i32.const 1568 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 367 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - i32.const 0 - i32.const 1568 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/number/itoa64 (param $0 i64) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store local.get $0 - i32.eqz + i64.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7296 + return end + i64.const 0 local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + i64.sub local.get $0 - i32.const 0 - i32.store offset=4 local.get $0 - i32.const 0 - i32.store offset=8 - local.get $1 - i32.const 1073741820 - local.get $2 - i32.shr_u - i32.gt_u + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.tee $3 + select + local.tee $0 + i64.const 4294967295 + i64.le_u if - i32.const 1056 - i32.const 1104 - i32.const 18 - i32.const 57 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.wrap_i64 + local.tee $4 + call $~lib/util/number/decimalCount32 + local.get $3 + i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $4 + local.get $1 + call $~lib/util/number/utoa_dec_simple + else + local.get $0 + call $~lib/util/number/decimalCount64High + local.get $3 + i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + call $~lib/util/number/utoa_dec_simple + end + local.get $3 + if + local.get $2 + i32.const 45 + i32.store16 end global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.shl - local.tee $2 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store offset=4 - local.get $1 - i32.const 0 - local.get $2 - call $~lib/memory/memory.fill - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - local.get $1 - i32.store offset=4 - local.get $0 - local.get $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -51640,54 +39768,139 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.shl - local.tee $4 - local.set $5 - local.get $4 + i32.const 1 + i32.sub + local.tee $3 i32.const 0 - call $~lib/rt/itcms/__new - local.set $1 - local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7072 + return + end + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + i64.load + i32.wrap_i64 + i64.extend_i32_s + call $~lib/util/number/itoa64 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 21 + i32.add + i32.mul + i32.const 21 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 local.get $3 - local.get $5 - call $~lib/memory/memory.copy + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end - local.get $1 - local.tee $3 - i32.store - i32.const 16 - local.get $2 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $3 - i32.store - local.get $1 - local.get $3 - call $~lib/rt/itcms/__link - local.get $1 - local.get $3 - i32.store offset=4 - local.get $1 - local.get $4 - i32.store offset=8 - local.get $1 - local.get $0 - i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 ) - (func $~lib/util/number/itoa32 (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -51696,47 +39909,185 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i32.eqz + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7296 + i32.const 7072 return end - i32.const 0 - local.get $0 - i32.sub - local.get $0 - local.get $0 - i32.const 31 - i32.shr_u - local.tee $1 - select - local.tee $2 - call $~lib/util/number/decimalCount32 - local.get $1 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - local.get $0 - local.get $2 - local.get $3 - call $~lib/util/number/utoa_dec_simple - local.get $1 - if + block $folding-inner0 + local.get $4 + i32.eqz + if + local.get $0 + i64.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $__inlined_func$~lib/util/number/utoa64 + local.get $3 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7296 + local.set $0 + br $__inlined_func$~lib/util/number/utoa64 + end + local.get $3 + i64.const 4294967295 + i64.le_u + if + local.get $3 + i32.wrap_i64 + local.tee $2 + call $~lib/util/number/decimalCount32 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa_dec_simple + else + local.get $3 + call $~lib/util/number/decimalCount64High + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + local.get $3 + local.get $1 + call $~lib/util/number/utoa_dec_simple + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 20 + i32.add + i32.mul + i32.const 20 + i32.add + local.tee $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $4 + local.get $6 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $5 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $5 + i32.add + local.set $2 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + local.get $7 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add local.get $0 - i32.const 45 - i32.store16 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -51744,7 +40095,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/number/utoa32 (param $0 i32) (result i32) + (func $~lib/util/number/dtoa (param $0 f64) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer @@ -51756,41 +40107,73 @@ i32.const 0 i32.store local.get $0 - i32.eqz + f64.const 0 + f64.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7504 + return + end + local.get $0 + local.get $0 + f64.sub + f64.const 0 + f64.ne if + local.get $0 + local.get $0 + f64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7536 + return + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7296 + i32.const 7568 + i32.const 7616 + local.get $0 + f64.const 0 + f64.lt + select return end + i32.const 7648 local.get $0 - call $~lib/util/number/decimalCount32 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 - i32.shl - i32.const 1 call $~lib/rt/itcms/__new local.tee $2 i32.store local.get $2 - local.get $0 + i32.const 7648 local.get $1 - call $~lib/util/number/utoa_dec_simple + call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/util/number/itoa64 (param $0 i64) (result i32) - (local $1 i32) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -51799,83 +40182,139 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - i64.eqz + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7296 + i32.const 7072 return end - i64.const 0 - local.get $0 - i64.sub - local.get $0 - local.get $0 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.tee $3 - select - local.tee $0 - i64.const 4294967295 - i64.le_u - if - local.get $0 - i32.wrap_i64 - local.tee $4 - call $~lib/util/number/decimalCount32 + block $folding-inner0 local.get $3 - i32.add - local.set $1 + i32.eqz + if + local.get $0 + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa + local.set $0 + br $folding-inner0 + end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 28 + i32.add + i32.mul + i32.const 28 + i32.add + local.tee $6 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store - local.get $2 - local.get $4 + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 local.get $1 - call $~lib/util/number/utoa_dec_simple - else + local.get $2 + i32.const 1 + i32.shl + i32.add local.get $0 - call $~lib/util/number/decimalCount64High local.get $3 - i32.add - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 + i32.const 2 i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store + i32.add + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa_buffered local.get $2 - local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/util/number/utoa_dec_simple - end - local.get $3 - if - local.get $2 - i32.const 45 - i32.store16 + return end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) - (local $1 i32) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -51884,67 +40323,129 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - f64.const 0 - f64.eq + local.get $1 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7504 + i32.const 7072 return end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.ne - if - local.get $0 + block $folding-inner0 + local.get $3 + i32.eqz + if + local.get $0 + f64.load + call $~lib/util/number/dtoa + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 7420 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 28 + i32.add + i32.mul + i32.const 28 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + loop $for-loop|0 + local.get $3 + local.get $5 + i32.gt_s + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $4 + if + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7424 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $2 + local.get $4 + i32.add + local.set $2 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $6 + local.get $1 + local.get $2 + i32.const 1 + i32.shl + i32.add local.get $0 - f64.ne + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $2 + i32.add + local.tee $0 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7536 - return + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - i32.const 7568 - i32.const 7616 - local.get $0 - f64.const 0 - f64.lt - select + local.get $1 return end - i32.const 7648 - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - i32.const 7648 - local.get $1 - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) (local $1 i32) @@ -51983,4 +40484,174 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $3 + local.get $1 + i32.lt_u + if + i32.const 1360 + i32.const 1632 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.lt_s + if + local.get $2 + i32.const -1 + i32.eq + if (result i32) + local.get $3 + local.get $1 + i32.sub + else + i32.const 1056 + i32.const 1632 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $2 + else + local.get $3 + local.get $1 + local.get $2 + i32.add + i32.lt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + i32.store + local.get $3 + local.get $0 + call $~lib/rt/itcms/__link + local.get $3 + local.get $2 + i32.store offset=8 + local.get $3 + local.get $0 + local.get $1 + i32.add + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 + local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + end + local.get $1 + i32.sub + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $3 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $1 + i32.add + local.get $3 + call $~lib/memory/memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) ) diff --git a/tests/compiler/std/typedarray.untouched.wat b/tests/compiler/std/typedarray.untouched.wat index cd0a9f32e5..23e9a4bb19 100644 --- a/tests/compiler/std/typedarray.untouched.wat +++ b/tests/compiler/std/typedarray.untouched.wat @@ -2828,2173 +2828,3061 @@ i32.const 3 i32.shr_u ) - (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testInstantiate (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 44 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=24 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=32 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 710 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store - ) - (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 34 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + local.get $0 + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 699 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 38 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $2 + call $~lib/typedarray/Uint8Array#get:length local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - local.get $1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store offset=8 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 42 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + local.get $0 + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1385 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - f64.store - ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 i32) + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - block $while-break|1 - loop $while-continue|1 - local.get $6 - i32.const 0 - i32.ge_s - local.set $7 - local.get $7 - if - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $5 - local.get $8 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $6 - local.tee $9 - i32.const 1 - i32.sub - local.set $6 - local.get $9 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $8 - f64.store - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.add - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.tee $4 + i32.store offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 47 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 48 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 f64) - (local $10 f64) - (local $11 i32) - (local $12 f64) - local.get $1 - i32.const 31 - i32.add - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - local.set $3 - local.get $3 - call $~lib/rt/tlsf/__alloc - local.set $4 local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $3 - call $~lib/memory/memory.fill - local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|0 - local.get $5 + local.get $0 + call $~lib/typedarray/Uint16Array#constructor + local.tee $5 + i32.store offset=16 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - i32.gt_s - local.set $6 - local.get $6 - if - local.get $5 - local.set $7 - loop $while-continue|1 - local.get $7 - i32.const 1 - i32.and - local.get $4 - local.get $7 - i32.const 6 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - i32.const 1 - i32.shr_s - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.eq - local.set $8 - local.get $8 - if - local.get $7 - i32.const 1 - i32.shr_s - local.set $7 - br $while-continue|1 - end - end - local.get $7 - i32.const 1 - i32.shr_s - local.set $8 - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $9 - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $10 - local.get $9 - local.get $10 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $5 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $5 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $9 - f64.store - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|0 - end + i32.const 544 + i32.const 52 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.const 1 - i32.sub - local.set $5 - loop $for-loop|2 - local.get $5 - i32.const 2 - i32.ge_s - local.set $6 - local.get $6 - if - local.get $0 - f64.load - local.set $10 - local.get $0 - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - f64.store - local.get $0 - local.get $5 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - i32.const 1 - local.set $8 - loop $while-continue|3 - local.get $8 - i32.const 1 - i32.shl - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - local.get $8 - i32.const 31 - i32.and - i32.shr_u - i32.const 1 - i32.and - i32.add - local.tee $7 - local.get $5 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $7 - local.set $8 - br $while-continue|3 - end - end - loop $while-continue|4 - local.get $8 - i32.const 0 - i32.gt_s - local.set $11 - local.get $11 - if - local.get $0 - f64.load - local.set $10 - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $9 - local.get $10 - local.get $9 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - local.get $4 - local.get $8 - i32.const 5 - i32.shr_u - i32.const 2 - i32.shl - i32.add - i32.load - i32.const 1 - local.get $8 - i32.const 31 - i32.and - i32.shl - i32.xor - i32.store - local.get $0 - local.get $8 - i32.const 3 - i32.shl - i32.add - local.get $10 - f64.store - local.get $0 - local.get $9 - f64.store - end - local.get $8 - i32.const 1 - i32.shr_s - local.set $8 - br $while-continue|4 - end - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - br $for-loop|2 - end - end - local.get $4 - call $~lib/rt/tlsf/__free + local.get $5 + i32.load offset=8 local.get $0 - f64.load offset=8 - local.set $12 + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 53 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + call $~lib/typedarray/Uint16Array#get:length local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 - f64.load - f64.store offset=8 + call $~lib/typedarray/Int32Array#constructor + local.tee $6 + i32.store offset=20 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.load offset=8 local.get $0 - local.get $12 - f64.store - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) + global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 58 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + call $~lib/typedarray/Int32Array#get:length local.get $0 - i64.reinterpret_f64 - local.set $2 - local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - local.get $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $2 - local.get $3 - local.get $3 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $3 - local.get $2 - local.get $3 - i64.gt_s - local.get $2 - local.get $3 - i64.lt_s - i32.sub - ) - (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) - local.get $1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 59 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 + call $~lib/typedarray/Uint32Array#constructor + local.tee $7 + i32.store offset=24 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + local.get $0 + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1374 + i32.const 0 + i32.const 544 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $7 + call $~lib/typedarray/Uint32Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 i32.const 64 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl + call $~lib/typedarray/Int64Array#constructor + local.tee $8 + i32.store offset=28 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $8 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $8 + call $~lib/typedarray/Int64Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 69 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + call $~lib/typedarray/Uint64Array#constructor + local.tee $9 + i32.store offset=32 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 72 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $9 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 73 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $9 + call $~lib/typedarray/Uint64Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 74 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + call $~lib/typedarray/Float32Array#constructor + local.tee $10 + i32.store offset=36 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 77 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $10 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 78 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $10 + call $~lib/typedarray/Float32Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 79 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + call $~lib/typedarray/Float64Array#constructor + local.tee $11 + i32.store offset=40 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 82 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $11 + i32.load offset=8 + local.get $0 + global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $11 + call $~lib/typedarray/Float64Array#get:length + local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 84 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 44 i32.add - f64.load + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 local.get $0 i32.load offset=8 + i32.const 2 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 305 - i32.const 45 + i32.const 710 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 + i32.const 2 + i32.shl i32.add local.get $2 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $2 - i32.sub - i32.const 31 - i32.shr_s - local.get $2 - i32.or - i32.and - i32.store8 + i32.store ) - (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 + i32.const 2 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 294 - i32.const 45 + i32.const 699 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 + i32.const 2 + i32.shl i32.add - i32.load8_u + i32.load ) - (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) local.get $1 local.get $0 i32.load offset=8 + i32.const 3 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 35 - i32.const 45 + i32.const 1385 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.add + i32.const 3 + i32.shl + i32.add local.get $2 - i32.store8 + f64.store ) - (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) - loop $while-continue|0 - local.get $2 - if (result i32) - local.get $1 - i32.const 3 - i32.and - else - i32.const 0 - end - local.set $5 - local.get $5 + (local $7 i32) + (local $8 f64) + (local $9 i32) + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 if local.get $0 - local.tee $6 - i32.const 1 + local.get $3 + i32.const 3 + i32.shl i32.add - local.set $0 + f64.load + local.set $5 + local.get $3 + i32.const 1 + i32.sub + local.set $6 + block $while-break|1 + loop $while-continue|1 + local.get $6 + i32.const 0 + i32.ge_s + local.set $7 + local.get $7 + if + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $8 + local.get $5 + local.get $8 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $6 + local.tee $9 + i32.const 1 + i32.sub + local.set $6 + local.get $9 + i32.const 1 + i32.add + i32.const 3 + i32.shl + i32.add + local.get $8 + f64.store + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $0 local.get $6 - local.get $1 - local.tee $6 i32.const 1 i32.add - local.set $1 - local.get $6 - i32.load8_u - i32.store8 - local.get $2 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store + local.get $3 i32.const 1 - i32.sub - local.set $2 - br $while-continue|0 + i32.add + local.set $3 + br $for-loop|0 end end - local.get $0 - i32.const 3 - i32.and + ) + (func $~lib/util/sort/weakHeapSort (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 f64) + (local $10 f64) + (local $11 i32) + (local $12 f64) + local.get $1 + i32.const 31 + i32.add + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + local.set $3 + local.get $3 + call $~lib/rt/tlsf/__alloc + local.set $4 + local.get $4 i32.const 0 - i32.eq - if - loop $while-continue|1 - local.get $2 - i32.const 16 - i32.ge_u - local.set $5 + local.get $3 + call $~lib/memory/memory.fill + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|0 + local.get $5 + i32.const 0 + i32.gt_s + local.set $6 + local.get $6 + if local.get $5 - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 + local.set $7 + loop $while-continue|1 + local.get $7 + i32.const 1 + i32.and + local.get $4 + local.get $7 + i32.const 6 + i32.shr_u + i32.const 2 + i32.shl i32.add i32.load - i32.store - local.get $0 - i32.const 8 + local.get $7 + i32.const 1 + i32.shr_s + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.eq + local.set $8 + local.get $8 + if + local.get $7 + i32.const 1 + i32.shr_s + local.set $7 + br $while-continue|1 + end + end + local.get $7 + i32.const 1 + i32.shr_s + local.set $8 + local.get $0 + local.get $8 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $9 + local.get $0 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $10 + local.get $9 + local.get $10 + i32.const 2 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl i32.add - local.get $1 - i32.const 8 + local.get $4 + local.get $5 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl i32.add i32.load + i32.const 1 + local.get $5 + i32.const 31 + i32.and + i32.shl + i32.xor i32.store local.get $0 - i32.const 12 - i32.add - local.get $1 - i32.const 12 - i32.add - i32.load - i32.store - local.get $1 - i32.const 16 + local.get $5 + i32.const 3 + i32.shl i32.add - local.set $1 + local.get $9 + f64.store local.get $0 - i32.const 16 + local.get $8 + i32.const 3 + i32.shl i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|1 + local.get $10 + f64.store end + local.get $5 + i32.const 1 + i32.sub + local.set $5 + br $for-loop|0 end - local.get $2 - i32.const 8 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.get $1 - i32.const 4 - i32.add - i32.load - i32.store - local.get $0 - i32.const 8 - i32.add - local.set $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - end - local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.get $1 - i32.load - i32.store - local.get $0 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.const 4 - i32.add - local.set $1 - end - local.get $2 + end + local.get $1 + i32.const 1 + i32.sub + local.set $5 + loop $for-loop|2 + local.get $5 i32.const 2 - i32.and + i32.ge_s + local.set $6 + local.get $6 if local.get $0 - local.get $1 - i32.load16_u - i32.store16 + f64.load + local.set $10 local.get $0 - i32.const 2 - i32.add - local.set $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.and - if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + i32.const 3 + i32.shl i32.add - local.set $1 + f64.load + f64.store + local.get $0 local.get $5 - i32.load8_u - i32.store8 - end - return - end - local.get $2 - i32.const 32 - i32.ge_u - if - block $break|2 - block $case2|2 - block $case1|2 - block $case0|2 - local.get $0 - i32.const 3 - i32.and - local.set $5 - local.get $5 - i32.const 1 - i32.eq - br_if $case0|2 - local.get $5 - i32.const 2 - i32.eq - br_if $case1|2 - local.get $5 - i32.const 3 - i32.eq - br_if $case2|2 - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 3 + i32.shl + i32.add + local.get $10 + f64.store + i32.const 1 + local.set $8 + loop $while-continue|3 + local.get $8 + i32.const 1 + i32.shl + local.get $4 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 + i32.shl + i32.add + i32.load + local.get $8 + i32.const 31 + i32.and + i32.shr_u + i32.const 1 + i32.and + i32.add + local.tee $7 + local.get $5 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $7 + local.set $8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $8 + i32.const 0 + i32.gt_s + local.set $11 + local.get $11 + if local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + f64.load + local.set $10 local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + local.get $8 + i32.const 3 + i32.shl i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + f64.load + local.set $9 + local.get $10 + local.get $9 + i32.const 2 + global.set $~argumentsLength local.get $2 - i32.const 3 - i32.sub - local.set $2 - loop $while-continue|3 - local.get $2 - i32.const 17 - i32.ge_u - local.set $5 - local.get $5 - if - local.get $1 - i32.const 1 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 5 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 9 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 24 - i32.shr_u - local.get $4 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 13 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 24 - i32.shr_u - local.get $3 - i32.const 8 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|3 - end - end - br $break|2 - end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - loop $while-continue|4 - local.get $2 - i32.const 18 - i32.ge_u - local.set $5 - local.get $5 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s if - local.get $1 - i32.const 2 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 16 - i32.shr_u local.get $4 - i32.const 16 + local.get $8 + i32.const 5 + i32.shr_u + i32.const 2 i32.shl - i32.or - i32.store - local.get $1 - i32.const 6 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 i32.add local.get $4 - i32.const 16 + local.get $8 + i32.const 5 i32.shr_u - local.get $3 - i32.const 16 + i32.const 2 i32.shl - i32.or - i32.store - local.get $1 - i32.const 10 i32.add i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 16 - i32.shr_u - local.get $4 - i32.const 16 + i32.const 1 + local.get $8 + i32.const 31 + i32.and i32.shl - i32.or + i32.xor i32.store - local.get $1 - i32.const 14 - i32.add - i32.load - local.set $3 local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 16 - i32.shr_u - local.get $3 - i32.const 16 + local.get $8 + i32.const 3 i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 i32.add - local.set $1 + local.get $10 + f64.store local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|4 + local.get $9 + f64.store end + local.get $8 + i32.const 1 + i32.shr_s + local.set $8 + br $while-continue|4 end - br $break|2 end - local.get $1 - i32.load - local.set $3 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 local.get $5 - local.get $1 - local.tee $5 i32.const 1 - i32.add - local.set $1 + i32.sub + local.set $5 + br $for-loop|2 + end + end + local.get $4 + call $~lib/rt/tlsf/__free + local.get $0 + f64.load offset=8 + local.set $12 + local.get $0 + local.get $0 + f64.load + f64.store offset=8 + local.get $0 + local.get $12 + f64.store + ) + (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 f64) + (local $7 f64) + (local $8 i32) + (local $9 i32) + (local $10 i32) + block $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $4 + local.get $4 + i32.const 1 + i32.le_s + if + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 2 + i32.eq + if local.get $5 - i32.load8_u - i32.store8 + f64.load offset=8 + local.set $6 + local.get $5 + f64.load + local.set $7 + local.get $6 + local.get $7 + i32.const 2 + global.set $~argumentsLength local.get $2 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|5 - local.get $2 - i32.const 19 - i32.ge_u - local.set $5 + i32.load + call_indirect (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if local.get $5 - if - local.get $1 - i32.const 3 - i32.add - i32.load - local.set $4 - local.get $0 - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 7 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 4 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 11 - i32.add - i32.load - local.set $4 - local.get $0 - i32.const 8 - i32.add - local.get $3 - i32.const 8 - i32.shr_u - local.get $4 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 15 - i32.add - i32.load - local.set $3 - local.get $0 - i32.const 12 - i32.add - local.get $4 - i32.const 8 - i32.shr_u - local.get $3 - i32.const 24 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 16 - i32.add - local.set $1 - local.get $0 - i32.const 16 - i32.add - local.set $0 - local.get $2 - i32.const 16 - i32.sub - local.set $2 - br $while-continue|5 - end + local.get $7 + f64.store offset=8 + local.get $5 + local.get $6 + f64.store end - br $break|2 + local.get $3 + br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $5 + local.set $10 + local.get $4 + local.set $9 + local.get $2 + local.set $8 + i32.const 0 + drop + local.get $9 + i32.const 256 + i32.lt_s + if + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/insertionSort + else + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/sort/weakHeapSort end + local.get $3 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) + local.get $0 + i64.reinterpret_f64 + local.set $2 + local.get $1 + i64.reinterpret_f64 + local.set $3 local.get $2 - i32.const 16 + local.get $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $2 + local.get $3 + local.get $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $3 + local.get $2 + local.get $3 + i64.gt_s + local.get $2 + local.get $3 + i64.lt_s + i32.sub + ) + (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1374 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + ) + (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 305 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + local.get $2 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $2 + i32.sub + i32.const 31 + i32.shr_s + local.get $2 + i32.or i32.and + i32.store8 + ) + (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 336 + i32.const 608 + i32.const 294 + i32.const 45 + call $~lib/builtins/abort + unreachable end - local.get $2 - i32.const 8 - i32.and + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) + (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + i32.const 336 + i32.const 608 + i32.const 35 + i32.const 45 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.load offset=4 + local.get $1 + i32.add local.get $2 - i32.const 4 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 - end + i32.store8 + ) + (func $~lib/typedarray/Int8Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $7 + local.get $1 + local.set $6 local.get $2 - i32.const 2 - i32.and - if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 - local.get $5 - local.get $1 - local.tee $5 - i32.const 1 - i32.add - local.set $1 + local.set $5 + local.get $3 + local.set $4 + local.get $7 + i32.load offset=4 + local.set $8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $9 + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $9 local.get $5 - i32.load8_u - i32.store8 - local.get $0 - local.tee $5 - i32.const 1 i32.add - local.set $0 + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + else local.get $5 - local.get $1 - local.tee $5 - i32.const 1 + local.tee $11 + local.get $9 + local.tee $10 + local.get $11 + local.get $10 + i32.lt_s + select + end + local.set $5 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $9 + local.get $4 i32.add - local.set $1 - local.get $5 - i32.load8_u - i32.store8 + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + else + local.get $4 + local.tee $11 + local.get $9 + local.tee $10 + local.get $11 + local.get $10 + i32.lt_s + select end - local.get $2 + local.set $4 i32.const 1 - i32.and + i32.const 1 + i32.eq + drop + local.get $5 + local.get $4 + i32.lt_s if - local.get $0 - local.tee $5 - i32.const 1 - i32.add - local.set $0 + local.get $8 local.get $5 - local.get $1 - local.tee $5 - i32.const 1 i32.add - local.set $1 + local.get $6 + local.get $4 local.get $5 - i32.load8_u - i32.store8 + i32.sub + call $~lib/memory/memory.fill end + local.get $7 ) - (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/memory/memcpy (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - block $~lib/util/memory/memmove|inlined.0 - local.get $0 - local.set $5 - local.get $1 - local.set $4 + loop $while-continue|0 local.get $2 - local.set $3 - local.get $5 - local.get $4 - i32.eq - if - br $~lib/util/memory/memmove|inlined.0 + if (result i32) + local.get $1 + i32.const 3 + i32.and + else + i32.const 0 end - i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $4 + local.set $5 local.get $5 - i32.sub - local.get $3 - i32.sub - i32.const 0 - local.get $3 - i32.const 1 - i32.shl - i32.sub - i32.le_u if + local.get $0 + local.tee $6 + i32.const 1 + i32.add + local.set $0 + local.get $6 + local.get $1 + local.tee $6 + i32.const 1 + i32.add + local.set $1 + local.get $6 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 + end + end + local.get $0 + i32.const 3 + i32.and + i32.const 0 + i32.eq + if + loop $while-continue|1 + local.get $2 + i32.const 16 + i32.ge_u + local.set $5 local.get $5 - local.get $4 - local.get $3 - call $~lib/util/memory/memcpy - br $~lib/util/memory/memmove|inlined.0 + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.get $1 + i32.const 8 + i32.add + i32.load + i32.store + local.get $0 + i32.const 12 + i32.add + local.get $1 + i32.const 12 + i32.add + i32.load + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|1 + end end - local.get $5 - local.get $4 - i32.lt_u + local.get $2 + i32.const 8 + i32.and if - i32.const 0 + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.get $1 + i32.const 4 + i32.add + i32.load + i32.store + local.get $0 + i32.const 8 + i32.add + local.set $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.get $1 + i32.load + i32.store + local.get $0 + i32.const 4 + i32.add + local.set $0 + local.get $1 + i32.const 4 + i32.add + local.set $1 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.get $1 + i32.load16_u + i32.store16 + local.get $0 i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and + i32.add + local.set $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|0 - local.get $5 - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz - if - br $~lib/util/memory/memmove|inlined.0 - end - local.get $3 - i32.const 1 - i32.sub - local.set $3 - local.get $5 - local.tee $7 - i32.const 1 - i32.add + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + return + end + local.get $2 + i32.const 32 + i32.ge_u + if + block $break|2 + block $case2|2 + block $case1|2 + block $case0|2 + local.get $0 + i32.const 3 + i32.and local.set $5 - local.get $7 - local.get $4 - local.tee $7 + local.get $5 i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.load8_u - i32.store8 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $3 - i32.const 8 - i32.ge_u - local.set $6 - local.get $6 - if + i32.eq + br_if $case0|2 local.get $5 - local.get $4 - i64.load - i64.store - local.get $3 - i32.const 8 - i32.sub - local.set $3 + i32.const 2 + i32.eq + br_if $case1|2 local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|1 + i32.const 3 + i32.eq + br_if $case2|2 + br $break|2 end - end - end - loop $while-continue|2 - local.get $3 - local.set $6 - local.get $6 - if + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 local.get $5 - local.tee $7 + local.get $1 + local.tee $5 i32.const 1 i32.add - local.set $5 - local.get $7 - local.get $4 - local.tee $7 + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 i32.const 1 i32.add - local.set $4 - local.get $7 + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 i32.load8_u i32.store8 - local.get $3 + local.get $0 + local.tee $5 i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - else - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 7 - i32.and - local.get $5 - i32.const 7 - i32.and - i32.eq - if - loop $while-continue|3 + i32.add + local.set $0 local.get $5 - local.get $3 + local.get $1 + local.tee $5 + i32.const 1 i32.add - i32.const 7 - i32.and - local.set $6 - local.get $6 - if - local.get $3 - i32.eqz + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 3 + i32.sub + local.set $2 + loop $while-continue|3 + local.get $2 + i32.const 17 + i32.ge_u + local.set $5 + local.get $5 if - br $~lib/util/memory/memmove|inlined.0 + local.get $1 + i32.const 1 + i32.add + i32.load + local.set $4 + local.get $0 + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 5 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 9 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 24 + i32.shr_u + local.get $4 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 13 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 + i32.add + local.get $4 + i32.const 24 + i32.shr_u + local.get $3 + i32.const 8 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 + i32.add + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 + br $while-continue|3 end - local.get $5 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - i32.add - local.get $4 - local.get $3 - i32.add - i32.load8_u - i32.store8 - br $while-continue|3 end + br $break|2 end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 2 + i32.sub + local.set $2 loop $while-continue|4 - local.get $3 - i32.const 8 + local.get $2 + i32.const 18 i32.ge_u - local.set $6 - local.get $6 + local.set $5 + local.get $5 if + local.get $1 + i32.const 2 + i32.add + i32.load + local.set $4 + local.get $0 local.get $3 - i32.const 8 - i32.sub + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 6 + i32.add + i32.load local.set $3 - local.get $5 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 16 + i32.shr_u + local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 10 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add local.get $3 + i32.const 16 + i32.shr_u + local.get $4 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 14 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 i32.add local.get $4 + i32.const 16 + i32.shr_u local.get $3 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 i32.add - i64.load - i64.store + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 br $while-continue|4 end end + br $break|2 end + local.get $1 + i32.load + local.set $3 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $2 + i32.const 1 + i32.sub + local.set $2 loop $while-continue|5 - local.get $3 - local.set $6 - local.get $6 + local.get $2 + i32.const 19 + i32.ge_u + local.set $5 + local.get $5 if - local.get $5 + local.get $1 + i32.const 3 + i32.add + i32.load + local.set $4 + local.get $0 local.get $3 - i32.const 1 - i32.sub - local.tee $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 7 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 4 + i32.add + local.get $4 + i32.const 8 + i32.shr_u + local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 11 + i32.add + i32.load + local.set $4 + local.get $0 + i32.const 8 + i32.add + local.get $3 + i32.const 8 + i32.shr_u + local.get $4 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 15 + i32.add + i32.load + local.set $3 + local.get $0 + i32.const 12 i32.add local.get $4 + i32.const 8 + i32.shr_u local.get $3 + i32.const 24 + i32.shl + i32.or + i32.store + local.get $1 + i32.const 16 i32.add - i32.load8_u - i32.store8 + local.set $1 + local.get $0 + i32.const 16 + i32.add + local.set $0 + local.get $2 + i32.const 16 + i32.sub + local.set $2 br $while-continue|5 end end + br $break|2 end end - ) - (func $~lib/rt/__newBuffer (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - local.get $0 - local.get $1 - call $~lib/rt/itcms/__new - local.set $3 local.get $2 + i32.const 16 + i32.and if - local.get $3 - local.get $2 local.get $0 - call $~lib/memory/memory.copy - end - local.get $3 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 24 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_s - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 336 - i32.const 736 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $2 - i32.const 0 - drop - local.get $2 - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 - ) - (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load offset=12 - i32.ge_u - if - i32.const 336 - i32.const 736 - i32.const 92 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 end - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $2 - i32.const 0 - drop local.get $2 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.ge_u + i32.const 8 + i32.and if - i32.const 336 - i32.const 608 - i32.const 170 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 4 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 2 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end + local.get $2 + i32.const 1 + i32.and + if + local.get $0 + local.tee $5 + i32.const 1 + i32.add + local.set $0 + local.get $5 + local.get $1 + local.tee $5 + i32.const 1 + i32.add + local.set $1 + local.get $5 + i32.load8_u + i32.store8 + end ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/memory/memory.copy (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/util/memory/memmove|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + local.get $4 + i32.eq + if + br $~lib/util/memory/memmove|inlined.0 + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $4 + local.get $5 + i32.sub + local.get $3 + i32.sub + i32.const 0 + local.get $3 + i32.const 1 + i32.shl + i32.sub + i32.le_u + if + local.get $5 + local.get $4 + local.get $3 + call $~lib/util/memory/memcpy + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $4 + i32.lt_u + if + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|0 + local.get $5 + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $5 + local.get $4 + i64.load + i64.store + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $while-continue|1 + end + end + end + loop $while-continue|2 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.tee $7 + i32.const 1 + i32.add + local.set $5 + local.get $7 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.load8_u + i32.store8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + else + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 7 + i32.and + local.get $5 + i32.const 7 + i32.and + i32.eq + if + loop $while-continue|3 + local.get $5 + local.get $3 + i32.add + i32.const 7 + i32.and + local.set $6 + local.get $6 + if + local.get $3 + i32.eqz + if + br $~lib/util/memory/memmove|inlined.0 + end + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|3 + end + end + loop $while-continue|4 + local.get $3 + i32.const 8 + i32.ge_u + local.set $6 + local.get $6 + if + local.get $3 + i32.const 8 + i32.sub + local.set $3 + local.get $5 + local.get $3 + i32.add + local.get $4 + local.get $3 + i32.add + i64.load + i64.store + br $while-continue|4 + end + end + end + loop $while-continue|5 + local.get $3 + local.set $6 + local.get $6 + if + local.get $5 + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.add + local.get $4 + local.get $3 + i32.add + i32.load8_u + i32.store8 + br $while-continue|5 + end + end + end + end + ) + (func $~lib/rt/__newBuffer (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) local.get $0 local.get $1 - i32.add + call $~lib/rt/itcms/__new + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $0 + call $~lib/memory/memory.copy + end + local.get $3 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.load offset=12 ) - (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 i32.load offset=8 - i32.const 1 - i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 440 - i32.const 64 + i32.const 24 + i32.const 45 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 i32.add + i32.load8_s ) - (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u + i32.load offset=12 i32.ge_u if i32.const 336 - i32.const 608 - i32.const 575 - i32.const 64 + i32.const 736 + i32.const 92 + i32.const 42 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 1 + i32.const 0 i32.shl i32.add + i32.load8_s + local.set $2 + i32.const 0 + drop local.get $2 - i32.store16 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/isInt8ArrayEqual (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 + call $~lib/typedarray/Int8Array#get:length local.get $1 - i32.add - ) - (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + call $~lib/array/Array#get:length + i32.ne if - i32.const 336 - i32.const 608 - i32.const 845 - i32.const 64 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end + i32.const 0 + local.set $2 local.get $0 - i32.load offset=4 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int8Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + ) + (func $~lib/typedarray/Int32Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $7 local.get $1 - i32.const 2 - i32.shl - i32.add + local.set $6 local.get $2 - i32.store + local.set $5 + local.get $3 + local.set $4 + local.get $7 + i32.load offset=4 + local.set $8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $9 + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $9 + local.get $5 + i32.add + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + else + local.get $5 + local.tee $11 + local.get $9 + local.tee $10 + local.get $11 + local.get $10 + i32.lt_s + select + end + local.set $5 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $9 + local.get $4 + i32.add + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + else + local.get $4 + local.tee $11 + local.get $9 + local.tee $10 + local.get $11 + local.get $10 + i32.lt_s + select + end + local.set $4 + i32.const 4 + i32.const 1 + i32.eq + drop + loop $for-loop|0 + local.get $5 + local.get $4 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $8 + local.get $5 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + local.get $7 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.load offset=12 ) - (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u + i32.load offset=12 i32.ge_u if i32.const 336 - i32.const 608 - i32.const 980 - i32.const 64 + i32.const 736 + i32.const 92 + i32.const 42 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add + i32.load + local.set $2 + i32.const 0 + drop local.get $2 - i64.store ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/isInt32ArrayEqual (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $0 + call $~lib/typedarray/Int32Array#get:length local.get $1 - i64.add - ) - (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + call $~lib/array/Array#get:length + i32.ne if - i32.const 336 - i32.const 608 - i32.const 1115 - i32.const 64 - call $~lib/builtins/abort - unreachable + i32.const 0 + return end + i32.const 0 + local.set $2 local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store + call $~lib/typedarray/Int32Array#get:length + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $2 + call $~lib/typedarray/Int32Array#__get + local.get $1 + local.get $2 + call $~lib/array/Array#__get + i32.ne + if + i32.const 0 + return + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $~lib/typedarray/Int32Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) local.get $0 + local.set $7 local.get $1 - i64.add - ) - (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1250 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 + local.set $6 + local.get $2 + local.set $5 + local.get $3 + local.set $4 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + local.get $7 i32.load offset=4 - local.get $1 + local.set $9 + local.get $4 + local.tee $10 + local.get $8 + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + local.set $4 + local.get $6 + i32.const 0 + i32.lt_s + if (result i32) + local.get $8 + local.get $6 + i32.add + local.tee $11 + i32.const 0 + local.tee $10 + local.get $11 + local.get $10 + i32.gt_s + select + else + local.get $6 + local.tee $10 + local.get $8 + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $10 + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $8 + local.get $5 + i32.add + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $5 + local.tee $12 + local.get $8 + local.tee $11 + local.get $12 + local.get $11 + i32.lt_s + select + end + local.set $12 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $8 + local.get $4 + i32.add + local.tee $11 + i32.const 0 + local.tee $13 + local.get $11 + local.get $13 + i32.gt_s + select + else + local.get $4 + local.tee $13 + local.get $8 + local.tee $11 + local.get $13 + local.get $11 + i32.lt_s + select + end + local.set $13 + local.get $13 + local.get $12 + i32.sub + local.tee $11 + local.get $8 + local.get $10 + i32.sub + local.tee $14 + local.get $11 + local.get $14 + i32.lt_s + select + local.set $11 + local.get $9 + local.get $10 i32.const 2 i32.shl i32.add - local.get $2 - f32.store - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) - local.get $0 - local.get $1 - f32.add + local.get $9 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $7 ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 - f64.add + i32.add ) - (func $~lib/typedarray/Int8Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 - i32.load offset=8 - local.set $2 + local.set $5 local.get $1 - i32.const 0 + local.set $4 local.get $2 - local.get $1 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 i32.const 0 - i32.ge_s - select - i32.add - local.set $1 + local.set $7 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $2 + local.get $0 + i32.load offset=8 i32.ge_u if i32.const 336 i32.const 608 - i32.const 47 - i32.const 33 + i32.const 170 + i32.const 45 call $~lib/builtins/abort unreachable end @@ -5002,94 +5890,219 @@ i32.load offset=4 local.get $1 i32.add - i32.load8_s + local.get $2 + i32.store8 ) - (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=8 - local.set $2 local.get $1 - i32.const 0 - local.get $2 - local.get $1 - i32.const 0 - i32.ge_s - select i32.add - local.set $1 + ) + (func $~lib/typedarray/Uint8Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 local.get $2 - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 182 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end end + local.get $3 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=4 local.get $1 i32.add - i32.load8_u ) - (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 - i32.load offset=8 - local.set $2 + local.set $5 local.get $1 - i32.const 0 + local.set $4 local.get $2 - local.get $1 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 i32.const 0 - i32.ge_s - select - i32.add - local.set $1 + local.set $7 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $2 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 317 - i32.const 33 + i32.const 440 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 + i32.const 1 + i32.shl i32.add - i32.load8_u + local.get $2 + i32.store16 ) - (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $1 - i32.const 0 - local.get $2 local.get $1 - i32.const 0 - i32.ge_s - select i32.add - local.set $1 + ) + (func $~lib/typedarray/Int16Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 1 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 452 - i32.const 33 + i32.const 575 + i32.const 64 call $~lib/builtins/abort unreachable end @@ -5099,67 +6112,137 @@ i32.const 1 i32.shl i32.add - i32.load16_s + local.get $2 + i32.store16 ) - (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - local.set $2 - local.get $1 - i32.const 0 - local.get $2 local.get $1 - i32.const 0 - i32.ge_s - select i32.add - local.set $1 + ) + (func $~lib/typedarray/Uint16Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 local.get $2 - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 587 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end end + local.get $3 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=4 local.get $1 - i32.const 1 - i32.shl i32.add - i32.load16_u ) - (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 + local.set $5 local.get $1 - i32.const 0 + local.set $4 local.get $2 - local.get $1 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 i32.const 0 - i32.ge_s - select - i32.add - local.set $1 + local.set $7 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) local.get $1 - local.get $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 722 - i32.const 33 + i32.const 845 + i32.const 64 call $~lib/builtins/abort unreachable end @@ -5169,67 +6252,161 @@ i32.const 2 i32.shl i32.add - i32.load + local.get $2 + i32.store ) - (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $1 - i32.const 0 - local.get $2 local.get $1 - i32.const 0 - i32.ge_s - select i32.add - local.set $1 + ) + (func $~lib/typedarray/Uint32Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 857 - i32.const 33 + i32.const 980 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + local.get $2 + i64.store ) - (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 local.get $1 - i32.const 0 - local.get $2 + i64.add + ) + (func $~lib/typedarray/Int64Array#reduce (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 i32.const 0 - i32.ge_s - select - i32.add - local.set $1 + local.set $7 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) local.get $1 - local.get $2 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 992 - i32.const 33 + i32.const 1115 + i32.const 64 call $~lib/builtins/abort unreachable end @@ -5239,49 +6416,211 @@ i32.const 3 i32.shl i32.add - i64.load + local.get $2 + i64.store ) - (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 - i32.load offset=8 - i32.const 3 - i32.shr_u - local.set $2 local.get $1 - i32.const 0 - local.get $2 + i64.add + ) + (func $~lib/typedarray/Uint64Array#reduce (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 i32.const 0 - i32.ge_s - select - i32.add - local.set $1 + local.set $7 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) local.get $1 - local.get $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u i32.ge_u if i32.const 336 i32.const 608 - i32.const 1127 - i32.const 33 + i32.const 1250 + i32.const 64 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load + local.get $2 + f32.store ) - (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + local.get $0 + local.get $1 + f32.add + ) + (func $~lib/typedarray/Float32Array#reduce (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (local $3 f32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $f32_f32_i32_i32_=>_f32) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 + local.get $1 + f64.add + ) + (func $~lib/typedarray/Float64Array#reduce (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (local $3 f64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $7 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $8 + loop $for-loop|0 + local.get $7 + local.get $8 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $f64_f64_i32_i32_=>_f64) + local.set $3 + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $3 + ) + (func $~lib/typedarray/Int8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.load offset=8 - i32.const 2 - i32.shr_u local.set $2 local.get $1 i32.const 0 @@ -5298,7 +6637,7 @@ if i32.const 336 i32.const 608 - i32.const 1262 + i32.const 47 i32.const 33 call $~lib/builtins/abort unreachable @@ -5306,17 +6645,88 @@ local.get $0 i32.load offset=4 local.get $1 + i32.add + i32.load8_s + ) + (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 i32.const 2 - i32.shl + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -1 + call $~lib/typedarray/Int8Array#at + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -3 + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - f32.load + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) + (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $0 i32.load offset=8 - i32.const 3 - i32.shr_u local.set $2 local.get $1 i32.const 0 @@ -5333,7 +6743,7 @@ if i32.const 336 i32.const 608 - i32.const 1397 + i32.const 182 i32.const 33 call $~lib/builtins/abort unreachable @@ -5341,86 +6751,106 @@ local.get $0 i32.load offset=4 local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - local.get $0 - local.get $1 i32.add + i32.load8_u ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const 0 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.get $1 - i32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.const -1 + call $~lib/typedarray/Uint8Array#at + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.get $1 + i32.const -3 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) - local.get $0 - local.get $1 - i64.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 + i32.load offset=8 + local.set $2 local.get $1 - f32.add - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) - local.get $0 + i32.const 0 + local.get $2 local.get $1 - f64.add - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 local.get $1 - local.get $0 - i32.load offset=8 + local.get $2 i32.ge_u if i32.const 336 i32.const 608 - i32.const 159 - i32.const 45 + i32.const 317 + i32.const 33 call $~lib/builtins/abort unreachable end @@ -5430,173 +6860,325 @@ i32.add i32.load8_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store local.get $0 - i32.mul - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.mul - ) - (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - i32.load offset=8 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#at i32.const 1 - i32.shr_u - i32.ge_u + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 429 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load offset=8 - i32.const 1 - i32.shr_u - i32.ge_u + i32.const -1 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 564 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl + i32.const -3 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load16_u - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 i32.load offset=8 - i32.const 2 + i32.const 1 i32.shr_u + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 i32.ge_u if i32.const 336 i32.const 608 - i32.const 834 - i32.const 64 + i32.const 452 + i32.const 33 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load + i32.load16_s ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set local.get $0 - i64.mul - ) - (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) - local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set local.get $0 - i32.load offset=8 + i32.const 2 i32.const 3 - i32.shr_u - i32.ge_u + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#at + i32.const 1 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 969 - i32.const 64 + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - i32.load offset=4 - local.get $1 + i32.const -1 + call $~lib/typedarray/Int16Array#at i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) - local.get $0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i64.mul + i32.const -3 + call $~lib/typedarray/Int16Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) - local.get $1 + (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 i32.load offset=8 - i32.const 3 + i32.const 1 i32.shr_u + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 i32.ge_u if i32.const 336 i32.const 608 - i32.const 1104 - i32.const 64 + i32.const 587 + i32.const 33 call $~lib/builtins/abort unreachable end local.get $0 i32.load offset=4 local.get $1 - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load + i32.load16_u ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set local.get $0 - f32.mul + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint16Array#at + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) - local.get $1 + (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $0 i32.load offset=8 i32.const 2 i32.shr_u + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 i32.ge_u if i32.const 336 i32.const 608 - i32.const 1239 - i32.const 64 + i32.const 722 + i32.const 33 call $~lib/builtins/abort unreachable end @@ -5606,6599 +7188,6232 @@ i32.const 2 i32.shl i32.add - f32.load + i32.load ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set local.get $0 - f64.mul - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 2 - i32.gt_s + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -1 + call $~lib/typedarray/Int32Array#at + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -3 + call $~lib/typedarray/Int32Array#at + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) local.get $0 - i32.const 20 - i32.sub + i32.load offset=8 + i32.const 2 + i32.shr_u local.set $2 local.get $1 + i32.const 0 local.get $2 - i32.load - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/Object#set:rtSize - local.get $0 - return - end local.get $1 - local.get $2 - i32.load offset=12 - call $~lib/rt/itcms/__new - local.set $3 - local.get $3 - local.get $0 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 local.get $1 - local.tee $4 local.get $2 - i32.load offset=16 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - call $~lib/memory/memory.copy - local.get $3 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 857 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 255 - i32.and + i32.load offset=4 + local.get $1 i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.gt_u + i32.add + i32.load ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store local.get $0 - i32.const 2 - i32.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set local.get $0 + i32.const 1 i32.const 2 - i32.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.gt_u - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.gt - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - f64.gt - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 2 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 3 + call $~lib/typedarray/Uint32Array#__set local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 0 + call $~lib/typedarray/Uint32Array#at + i32.const 1 i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 255 - i32.and - i32.const 2 + i32.const -1 + call $~lib/typedarray/Uint32Array#at + i32.const 3 i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 255 - i32.and - i32.const 2 + i32.const -3 + call $~lib/typedarray/Uint32Array#at + i32.const 1 i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) local.get $0 - i32.const 255 - i32.and + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + local.get $1 i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 992 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 16 + i32.load offset=4 + local.get $1 + i32.const 3 i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq + i32.add + i64.load ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 65535 - i32.and i32.const 2 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i64.const 3 + call $~lib/typedarray/Int64Array#__set local.get $0 - i32.const 65535 - i32.and i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + call $~lib/typedarray/Int64Array#at + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 2 - i32.eq + i32.const -1 + call $~lib/typedarray/Int64Array#at + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const -3 + call $~lib/typedarray/Int64Array#at + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) + (local $2 i32) local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + local.get $1 i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1127 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 2 - i32.eq + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store local.get $0 i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 + i32.const 1 i64.const 2 - i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + call $~lib/typedarray/Uint64Array#__set local.get $0 - i64.const 0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#at + i64.const 1 i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i64.const 2 + i32.const -1 + call $~lib/typedarray/Uint64Array#at + i64.const 3 i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i64.const 0 + i32.const -3 + call $~lib/typedarray/Uint64Array#at + i64.const 1 i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) + (local $2 i32) local.get $0 - f32.const 2 - f32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + i32.load offset=8 + i32.const 2 + i32.shr_u + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1262 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 - f32.const 0 - f32.eq + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 - f64.const 2 - f64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 - f64.const 0 - f64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + f32.const 3 + call $~lib/typedarray/Float32Array#__set local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + call $~lib/typedarray/Float32Array#at + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const -1 + call $~lib/typedarray/Float32Array#at + f32.const 3 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 255 - i32.and + i32.const -3 + call $~lib/typedarray/Float32Array#at + f32.const 1 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) local.get $0 - i32.const 255 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.load offset=8 + i32.const 3 + i32.shr_u + local.set $2 + local.get $1 + i32.const 0 + local.get $2 + local.get $1 + i32.const 0 + i32.ge_s + select + i32.add + local.set $1 + local.get $1 + local.get $2 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1397 + i32.const 33 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 16 + i32.load offset=4 + local.get $1 + i32.const 3 i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq + i32.add + f64.load ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> + (local $0 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 65535 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $0 i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + f64.const 3 + call $~lib/typedarray/Float64Array#__set local.get $0 - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 2 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - f32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 4 - f32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 + i32.const 0 + call $~lib/typedarray/Float64Array#at + f64.const 1 f64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - f64.const 4 + i32.const -1 + call $~lib/typedarray/Float64Array#at + f64.const 3 f64.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq + i32.const -3 + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 346 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.const 2 - i32.eq + local.get $1 + i32.add ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end + end + local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.const 2 - i32.eq + local.get $1 + i32.add ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - i64.const 2 - i64.rem_s - i64.const 0 - i64.eq + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end + end + local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i64.const 2 - i64.eq + local.get $1 + i32.add ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - i64.const 2 - i64.rem_u - i64.const 0 - i64.eq + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end + end + local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i64.const 2 - i64.eq + local.get $1 + i32.add ) - (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 f32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $1 - f32.abs - f32.const 1 - f32.eq - if - local.get $0 - local.get $0 - f32.trunc - f32.sub - local.get $0 - f32.copysign - return - end + (local $8 i32) local.get $0 - i32.reinterpret_f32 - local.set $2 + local.set $5 local.get $1 - i32.reinterpret_f32 - local.set $3 - local.get $2 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and local.set $4 - local.get $3 - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $5 local.get $2 - i32.const -2147483648 - i32.and + local.set $3 + local.get $5 + i32.load offset=4 local.set $6 - local.get $3 + local.get $5 + call $~lib/typedarray/Int16Array#get:length i32.const 1 - i32.shl + i32.sub local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $4 - i32.const 255 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f32.ne - end - if - local.get $0 - local.get $1 - f32.mul + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s local.set $8 local.get $8 - local.get $8 - f32.div - return + if + local.get $3 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end end + local.get $3 + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint16Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $7 - i32.le_u - if - local.get $0 - local.get $9 + i32.sub + local.set $7 + loop $for-loop|0 local.get $7 - i32.ne - f32.convert_i32_u - f32.mul - return - end - local.get $4 - i32.eqz - if - local.get $4 - local.get $2 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $4 - local.get $2 - i32.const 1 - local.get $4 - i32.sub - i32.shl - local.set $2 - else - local.get $2 - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $2 - local.get $2 - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $2 - end - local.get $5 - i32.eqz - if - local.get $5 - local.get $3 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $5 - local.get $3 - i32.const 1 - local.get $5 - i32.sub - i32.shl - local.set $3 - else - local.get $3 - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $3 - local.get $3 - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $3 - end - loop $while-continue|0 - local.get $4 - local.get $5 - i32.gt_s - local.set $10 - local.get $10 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 if - local.get $2 local.get $3 - i32.ge_u - if - local.get $2 - local.get $3 - i32.eq - if - f32.const 0 - local.get $0 - f32.mul - return - end - local.get $2 - local.get $3 - i32.sub - local.set $2 - end - local.get $2 + local.get $6 + local.get $7 i32.const 1 i32.shl - local.set $2 + i32.add + i32.load16_u + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 i32.const 1 i32.sub - local.set $4 - br $while-continue|0 + local.set $7 + br $for-loop|0 end end - local.get $2 local.get $3 - i32.ge_u - if - local.get $2 - local.get $3 - i32.eq + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Int32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 if - f32.const 0 - local.get $0 - f32.mul - return + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 end - local.get $2 - local.get $3 - i32.sub - local.set $2 end - local.get $2 - i32.const 8 - i32.shl - i32.clz - local.set $11 - local.get $4 - local.get $11 - i32.sub + local.get $3 + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + local.get $0 + local.get $1 + i32.add + ) + (func $~lib/typedarray/Uint32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $5 + local.get $1 local.set $4 local.get $2 - local.get $11 - i32.shl - local.set $2 - local.get $4 - i32.const 0 - i32.gt_s - if - local.get $2 - i32.const 1 - i32.const 23 - i32.shl - i32.sub - local.set $2 - local.get $2 - local.get $4 - i32.const 23 - i32.shl - i32.or - local.set $2 - else - local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 i32.const 0 - local.get $4 - i32.sub - i32.const 1 - i32.add - i32.shr_u - local.set $2 + i32.ge_s + local.set $8 + local.get $8 + if + local.get $3 + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 + end end - local.get $2 - local.get $6 - i32.or - f32.reinterpret_i32 - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f32.const 2 - call $~lib/math/NativeMathf.mod - f32.const 0 - f32.eq + local.get $3 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 - f32.const 2 - f32.eq + local.get $1 + i64.add ) - (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) - (local $2 i64) + (func $~lib/typedarray/Int64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i64) (result i64) (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 f64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - local.get $1 - f64.abs - f64.const 1 - f64.eq - if - local.get $0 - local.get $0 - f64.trunc - f64.sub - local.get $0 - f64.copysign - return - end + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - i64.reinterpret_f64 - local.set $2 + local.set $5 local.get $1 - i64.reinterpret_f64 - local.set $3 - local.get $2 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and local.set $4 - local.get $3 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $5 local.get $2 - i64.const 63 - i64.shr_u + local.set $3 + local.get $5 + i32.load offset=4 local.set $6 - local.get $3 - i64.const 1 - i64.shl + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub local.set $7 - local.get $7 - i64.const 0 - i64.eq - if (result i32) - i32.const 1 - else - local.get $4 - i64.const 2047 - i64.eq - end - if (result i32) - i32.const 1 - else - local.get $1 - local.get $1 - f64.ne - end - if - local.get $0 - local.get $1 - f64.mul + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s local.set $8 local.get $8 - local.get $8 - f64.div - return - end - local.get $2 - i64.const 1 - i64.shl - local.set $9 - local.get $9 - local.get $7 - i64.le_u - if - local.get $0 - local.get $9 - local.get $7 - i64.ne - f64.convert_i32_u - f64.mul - return - end - local.get $4 - i64.const 0 - i64.ne - i32.eqz - if - local.get $4 - local.get $2 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $4 - local.get $2 - i64.const 1 - local.get $4 - i64.sub - i64.shl - local.set $2 - else - local.get $2 - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $2 - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $2 - end - local.get $5 - i64.const 0 - i64.ne - i32.eqz - if - local.get $5 - local.get $3 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $5 - local.get $3 - i64.const 1 - local.get $5 - i64.sub - i64.shl - local.set $3 - else - local.get $3 - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $3 - local.get $3 - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $3 - end - loop $while-continue|0 - local.get $4 - local.get $5 - i64.gt_s - local.set $10 - local.get $10 if - local.get $2 local.get $3 - i64.ge_u - if - local.get $2 - local.get $3 - i64.eq - if - f64.const 0 - local.get $0 - f64.mul - return - end - local.get $2 - local.get $3 - i64.sub - local.set $2 - end - local.get $2 - i64.const 1 - i64.shl - local.set $2 + local.get $6 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength local.get $4 - i64.const 1 - i64.sub - local.set $4 - br $while-continue|0 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 end end - local.get $2 local.get $3 - i64.ge_u - if - local.get $2 - local.get $3 - i64.eq - if - f64.const 0 - local.get $0 - f64.mul - return - end - local.get $2 - local.get $3 - i64.sub - local.set $2 - end - local.get $2 - i64.const 11 - i64.shl - i64.clz - local.set $11 - local.get $4 - local.get $11 - i64.sub - local.set $4 - local.get $2 - local.get $11 - i64.shl - local.set $2 - local.get $4 - i64.const 0 - i64.gt_s - if - local.get $2 - i64.const 1 - i64.const 52 - i64.shl - i64.sub - local.set $2 - local.get $2 - local.get $4 - i64.const 52 - i64.shl - i64.or - local.set $2 - else - local.get $2 - i64.const 0 - local.get $4 - i64.sub - i64.const 1 - i64.add - i64.shr_u - local.set $2 - end - local.get $2 - local.get $6 - i64.const 63 - i64.shl - i64.or - f64.reinterpret_i64 - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - f64.const 2 - call $~lib/math/NativeMath.mod - f64.const 0 - f64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 - f64.const 2 - f64.eq + local.get $1 + i64.add ) - (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + (func $~lib/typedarray/Uint64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i64) (result i64) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 - i32.const 100000 - i32.lt_u - if - local.get $0 - i32.const 100 - i32.lt_u + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 if - i32.const 1 - local.get $0 - i32.const 10 - i32.ge_u - i32.add - return - else + local.get $3 + local.get $6 + local.get $7 i32.const 3 - local.get $0 - i32.const 10000 - i32.ge_u - i32.add - local.get $0 - i32.const 1000 - i32.ge_u - i32.add - return - end - unreachable - else - local.get $0 - i32.const 10000000 - i32.lt_u - if - i32.const 6 - local.get $0 - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 - local.get $0 - i32.const 1000000000 - i32.ge_u - i32.add - local.get $0 - i32.const 100000000 - i32.ge_u + i32.shl i32.add - return + i64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 end - unreachable end - unreachable + local.get $3 ) - (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + local.get $0 + local.get $1 + f32.add + ) + (func $~lib/typedarray/Float32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 f32) (result f32) + (local $3 f32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - local.set $3 - local.get $3 + (local $8 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 if - local.get $1 - i32.const 10000 - i32.div_u - local.set $4 - local.get $1 - i32.const 10000 - i32.rem_u - local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 100 - i32.div_u - local.set $6 - local.get $5 - i32.const 100 - i32.rem_u - local.set $7 - i32.const 6284 + local.get $3 local.get $6 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $8 - i32.const 6284 local.get $7 i32.const 2 i32.shl i32.add - i64.load32_u - local.set $9 - local.get $2 + f32.load + local.get $7 + local.get $5 i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 + global.set $~argumentsLength + local.get $4 + i32.load + call_indirect (type $f32_f32_i32_i32_=>_f32) + local.set $3 + local.get $7 i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $9 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 + i32.sub + local.set $7 + br $for-loop|0 end end + local.get $3 + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 local.get $1 - i32.const 100 - i32.ge_u - if - local.get $1 - i32.const 100 - i32.div_u - local.set $3 - local.get $1 - i32.const 100 - i32.rem_u - local.set $10 - local.get $3 - local.set $1 - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 6284 - local.get $10 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $1 - i32.const 10 - i32.ge_u - if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - i32.const 6284 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store - else - local.get $2 - i32.const 1 - i32.sub - local.set $2 - i32.const 48 - local.get $1 - i32.add - local.set $11 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 - end + f64.add ) - (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $2 - i32.const 2 - i32.ge_u - local.set $3 - local.get $3 + (func $~lib/typedarray/Float64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 f64) (result f64) + (local $3 f64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i32.load offset=4 + local.set $6 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.const 1 + i32.sub + local.set $7 + loop $for-loop|0 + local.get $7 + i32.const 0 + i32.ge_s + local.set $8 + local.get $8 if - local.get $2 - i32.const 2 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 6704 - local.get $1 - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 + local.get $3 + local.get $6 + local.get $7 + i32.const 3 i32.shl i32.add + f64.load + local.get $7 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $4 i32.load - i32.store - local.get $1 - i64.const 8 - i64.shr_u - local.set $1 - br $while-continue|0 + call_indirect (type $f64_f64_i32_i32_=>_f64) + local.set $3 + local.get $7 + i32.const 1 + i32.sub + local.set $7 + br $for-loop|0 end end - local.get $2 + local.get $3 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 159 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) + local.get $1 + local.get $0 + i32.load offset=8 i32.const 1 - i32.and + i32.shr_u + i32.ge_u if - local.get $0 - i32.const 6704 - local.get $1 - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u - i32.store16 + i32.const 336 + i32.const 608 + i32.const 429 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s ) - (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i64) - (local $4 i64) - (local $5 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul + ) + (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.set $2 - local.get $2 - i32.popcnt + local.get $0 + i32.load offset=8 i32.const 1 - i32.eq + i32.shr_u + i32.ge_u if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $1 - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add - return + i32.const 336 + i32.const 608 + i32.const 564 + i32.const 64 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.load offset=4 local.get $1 - i64.extend_i32_s - local.set $3 - local.get $3 - local.set $4 i32.const 1 - local.set $5 - loop $while-continue|0 - local.get $0 - local.get $4 - i64.ge_u - local.set $2 - local.get $2 - if - local.get $0 - local.get $4 - i64.div_u - local.set $0 - local.get $4 - local.get $4 - i64.mul - local.set $4 - local.get $5 - i32.const 1 - i32.shl - local.set $5 - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $0 - i64.const 1 - i64.ge_u - local.set $2 - local.get $2 - if - local.get $0 - local.get $3 - i64.div_u - local.set $0 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $while-continue|1 - end - end - local.get $5 - i32.const 1 - i32.sub + i32.shl + i32.add + i32.load16_u ) - (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - local.get $3 - i64.extend_i32_s - local.set $4 - local.get $3 - local.get $3 - i32.const 1 - i32.sub - i32.and - i32.const 0 - i32.eq - if - local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $5 - local.get $4 - i64.const 1 - i64.sub - local.set $6 - loop $do-continue|0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7760 - local.get $1 - local.get $6 - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $1 - local.get $5 - i64.shr_u - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|0 - end - else - loop $do-continue|1 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $1 - local.get $4 - i64.div_u - local.set $6 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 7760 - local.get $1 - local.get $6 - local.get $4 - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u - i32.store16 - local.get $6 - local.set $1 - local.get $1 - i64.const 0 - i64.ne - local.set $7 - local.get $7 - br_if $do-continue|1 - end - end + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + local.get $0 + i32.mul ) - (func $~lib/string/String#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u + local.get $0 + i32.mul ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 0 - local.set $2 - i32.const 1 - drop + (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 0 - i32.lt_s - local.set $2 - local.get $2 + local.get $0 + i32.load offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - local.get $1 - i32.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 + i32.const 336 + i32.const 608 + i32.const 834 + i32.const 64 + call $~lib/builtins/abort + unreachable end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop + local.get $0 + i32.load offset=4 local.get $1 - i32.const 24 + i32.const 2 i32.shl - i32.const 24 - i32.shr_s - i32.const 10 - i32.lt_u + i32.add + i32.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + local.get $0 + local.get $0 + i64.mul + ) + (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 48 - i32.or - i32.store16 - i32.const 1 - local.get $2 - i32.add - return + i32.const 336 + i32.const 608 + i32.const 969 + i32.const 64 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $3 - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $3 + local.get $0 + i32.load offset=4 local.get $1 - i32.const 24 + i32.const 3 i32.shl - i32.const 24 - i32.shr_s - call $~lib/util/number/decimalCount32 i32.add - local.set $3 + i64.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 - local.set $6 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + local.get $0 + i64.mul ) - (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) + local.get $1 + local.get $0 + i32.load offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1104 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $0 + i32.load offset=4 local.get $1 - i32.const 1 - i32.shl - i32.add - local.set $5 - local.get $2 - local.get $3 - i32.const 1 + i32.const 3 i32.shl i32.add - local.set $6 - i32.const 0 + i64.load + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + local.get $0 + local.get $0 + f32.mul + ) + (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) + local.get $1 + local.get $0 + i32.load offset=8 i32.const 2 - i32.lt_s - drop - local.get $4 - i32.const 4 + i32.shr_u i32.ge_u - if (result i32) - local.get $5 - i32.const 7 - i32.and - local.get $6 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 - end if - block $do-break|0 - loop $do-continue|0 - local.get $5 - i64.load - local.get $6 - i64.load - i64.ne - if - br $do-break|0 - end - local.get $5 - i32.const 8 - i32.add - local.set $5 - local.get $6 - i32.const 8 - i32.add - local.set $6 - local.get $4 - i32.const 4 - i32.sub - local.set $4 - local.get $4 - i32.const 4 - i32.ge_u - local.set $7 - local.get $7 - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $4 - local.tee $7 - i32.const 1 - i32.sub - local.set $4 - local.get $7 - local.set $7 - local.get $7 - if - local.get $5 - i32.load16_u - local.set $8 - local.get $6 - i32.load16_u - local.set $9 - local.get $8 - local.get $9 - i32.ne - if - local.get $8 - local.get $9 - i32.sub - return - end - local.get $5 - i32.const 2 - i32.add - local.set $5 - local.get $6 - i32.const 2 - i32.add - local.set $6 - br $while-continue|1 - end + i32.const 336 + i32.const 608 + i32.const 1239 + i32.const 64 + call $~lib/builtins/abort + unreachable end - i32.const 0 + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + local.get $0 + local.get $0 + f64.mul + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.gt_s + ) + (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - i32.const 0 + local.get $0 + i32.const 20 + i32.sub local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop local.get $1 - i32.const 255 + local.get $2 + i32.load + i32.const 3 + i32.const -1 + i32.xor i32.and - i32.const 10 - i32.lt_u + i32.const 16 + i32.sub + i32.le_u if - local.get $0 + local.get $2 local.get $1 - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 - i32.const 1 + call $~lib/rt/itcms/Object#set:rtSize + local.get $0 return end + local.get $1 local.get $2 + i32.load offset=12 + call $~lib/rt/itcms/__new local.set $3 - i32.const 1 - i32.const 4 - i32.le_u - drop local.get $3 + local.get $0 local.get $1 + local.tee $4 + local.get $2 + i32.load offset=16 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + call $~lib/memory/memory.copy + local.get $3 + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 255 i32.and - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.set $6 - local.get $1 i32.const 255 i32.and - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.const 2 + i32.gt_u ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 0 - local.set $2 - i32.const 1 - drop - local.get $1 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 16 i32.shl i32.const 16 i32.shr_s - i32.const 0 - i32.lt_s - local.set $2 - local.get $2 - if - i32.const 0 - local.get $1 - i32.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $1 - i32.const 16 + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + f32.gt + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + f64.gt + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 i32.shl - i32.const 16 + i32.const 24 i32.shr_s - i32.const 10 - i32.lt_u - if + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int8Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add + local.set $3 local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 48 - i32.or - i32.store16 - i32.const 1 - local.get $2 - i32.add - return + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 0 end - local.get $2 - local.set $3 - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.set $6 - local.get $1 - i32.const 16 + i32.const 24 i32.shl - i32.const 16 + i32.const 24 i32.shr_s - local.set $5 - local.get $3 - local.set $4 i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.eq ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $1 - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u - if + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 + local.set $3 local.get $1 - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 0 end - local.get $2 - local.set $3 - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - i32.const 65535 - i32.and - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.set $6 - local.get $1 - i32.const 65535 + i32.const 255 i32.and - local.set $5 - local.get $3 - local.set $4 i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.eq ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8ClampedArray#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - local.set $2 - i32.const 1 - drop - local.get $1 - i32.const 0 - i32.lt_s - local.set $2 - local.get $2 - if - i32.const 0 - local.get $1 - i32.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $1 - i32.const 10 - i32.lt_u - if + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add + local.set $3 local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - local.get $2 - i32.add - return + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 0 end - local.get $2 - local.set $3 - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 + i32.const 255 + i32.and i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.eq ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int16Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $1 - i32.const 10 - i32.lt_u - if + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $0 + local.set $3 local.get $1 - i32.const 48 - i32.or - i32.store16 - i32.const 1 - return + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 0 end - local.get $2 - local.set $3 - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $3 - local.get $1 - call $~lib/util/number/decimalCount32 - i32.add - local.set $3 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.set $6 - local.get $1 - local.set $5 - local.get $3 - local.set $4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - local.get $3 + i32.eq ) - (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i64.const 1000000000000000 - i64.lt_u - if - local.get $0 - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $0 - i64.const 100000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $0 - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $0 - i64.const 10000000000000 - i64.ge_u - i32.add - return - end - unreachable - else - local.get $0 - i64.const 100000000000000000 - i64.lt_u - if - i32.const 16 - local.get $0 - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $0 - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $0 - i64.const 1000000000000000000 - i64.ge_u - i32.add - return - end - unreachable - end - unreachable + i32.const 65535 + i32.and + i32.const 2 + i32.eq ) - (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/typedarray/Uint16Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i64) - (local $13 i64) - loop $while-continue|0 - local.get $1 - i64.const 100000000 - i64.ge_u + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 local.set $3 + local.get $1 + local.set $2 local.get $3 - if - local.get $1 - i64.const 100000000 - i64.div_u - local.set $4 - local.get $1 - local.get $4 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $5 - local.get $4 - local.set $1 - local.get $5 - i32.const 10000 - i32.div_u - local.set $6 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + loop $for-loop|0 local.get $5 - i32.const 10000 - i32.rem_u - local.set $7 - local.get $6 - i32.const 100 - i32.div_u - local.set $8 local.get $6 - i32.const 100 - i32.rem_u - local.set $9 - local.get $7 - i32.const 100 - i32.div_u - local.set $10 + i32.lt_s + local.set $7 local.get $7 - i32.const 100 - i32.rem_u - local.set $11 - i32.const 6284 - local.get $10 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 6284 - local.get $11 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - i32.const 6284 - local.get $8 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $12 - i32.const 6284 - local.get $9 - i32.const 2 - i32.shl - i32.add - i64.load32_u - local.set $13 - local.get $2 - i32.const 4 - i32.sub - local.set $2 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $12 - local.get $13 - i64.const 32 - i64.shl - i64.or - i64.store - br $while-continue|0 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end end + i32.const 0 end + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.wrap_i64 - local.get $2 - call $~lib/util/number/utoa32_dec_lut + i32.const 65535 + i32.and + i32.const 0 + i32.eq ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int32Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) - i32.const 0 - local.set $2 - i32.const 1 - drop - local.get $1 - i64.const 0 - i64.lt_s - local.set $2 - local.get $2 - if - i64.const 0 - local.get $1 - i64.sub - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - i64.const 10 - i64.lt_u - if + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 - local.get $2 - i32.add - return - end - local.get $2 - local.set $3 - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.set $4 - local.get $3 - local.get $4 - call $~lib/util/number/decimalCount32 - i32.add local.set $3 - local.get $0 - local.set $7 - local.get $4 - local.set $6 + local.get $1 + local.set $2 local.get $3 - local.set $5 + i32.load offset=4 + local.set $4 i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else + local.set $5 local.get $3 - local.get $1 - call $~lib/util/number/decimalCount64High - i32.add - local.set $3 - local.get $0 + call $~lib/typedarray/Int32Array#get:length local.set $6 - local.get $1 - local.set $8 - local.get $3 - local.set $5 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $8 - local.get $5 - call $~lib/util/number/utoa64_dec_lut end - local.get $3 ) - (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint32Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) - i32.const 0 - local.set $2 - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $1 - i64.const 10 - i64.lt_u - if + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $0 - local.get $1 - i64.const 48 - i64.or - i64.store16 - i32.const 1 - return - end - local.get $2 - local.set $3 - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $1 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.set $4 - local.get $3 - local.get $4 - call $~lib/util/number/decimalCount32 - i32.add local.set $3 - local.get $0 - local.set $7 - local.get $4 - local.set $6 + local.get $1 + local.set $2 local.get $3 - local.set $5 + i32.load offset=4 + local.set $4 i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else + local.set $5 local.get $3 - local.get $1 - call $~lib/util/number/decimalCount64High - i32.add - local.set $3 - local.get $0 + call $~lib/typedarray/Uint32Array#get:length local.set $6 - local.get $1 - local.set $8 - local.get $3 - local.set $5 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $8 - local.get $5 - call $~lib/util/number/utoa64_dec_lut end - local.get $3 ) - (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i64) - (local $11 i32) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i64) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 0 - local.get $4 - i32.sub - local.set $7 - i64.const 1 - local.get $7 - i64.extend_i32_s - i64.shl - local.set $8 - local.get $8 - i64.const 1 - i64.sub - local.set $9 - local.get $3 - local.get $1 - i64.sub - local.set $10 - local.get $3 - local.get $7 - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $11 - local.get $3 - local.get $9 - i64.and - local.set $12 - local.get $11 - call $~lib/util/number/decimalCount32 - local.set $13 - local.get $6 - local.set $14 - loop $while-continue|0 - local.get $13 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Int64Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 i32.const 0 - i32.gt_s - local.set $15 - local.get $15 - if - block $break|1 - block $case10|1 - block $case9|1 - block $case8|1 - block $case7|1 - block $case6|1 - block $case5|1 - block $case4|1 - block $case3|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $13 - local.set $17 - local.get $17 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $17 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $17 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $17 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $17 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $17 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $17 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $17 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $17 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $17 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $11 - i32.const 1000000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 1000000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100000 - i32.div_u - local.set $16 - local.get $11 - i32.const 100000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10000 - i32.div_u - local.set $16 - local.get $11 - i32.const 10000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 1000 - i32.div_u - local.set $16 - local.get $11 - i32.const 1000 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 100 - i32.div_u - local.set $16 - local.get $11 - i32.const 100 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - i32.const 10 - i32.div_u - local.set $16 - local.get $11 - i32.const 10 - i32.rem_u - local.set $11 - br $break|1 - end - local.get $11 - local.set $16 - i32.const 0 - local.set $11 - br $break|1 - end - i32.const 0 - local.set $16 - br $break|1 - end - local.get $16 - local.get $14 - i32.or - if - local.get $0 - local.get $14 - local.tee $17 - i32.const 1 - i32.add - local.set $14 - local.get $17 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $16 - i32.const 65535 - i32.and - i32.add - i32.store16 - end - local.get $13 - i32.const 1 - i32.sub - local.set $13 - local.get $11 - i64.extend_i32_u - local.get $7 - i64.extend_i32_s - i64.shl - local.get $12 - i64.add - local.set $18 - local.get $18 + local.set $5 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|0 local.get $5 - i64.le_u + local.get $6 + i32.lt_s + local.set $7 + local.get $7 if - global.get $~lib/util/number/_K - local.get $13 - i32.add - global.set $~lib/util/number/_K - local.get $0 - local.set $23 - local.get $14 - local.set $17 + local.get $4 local.get $5 - local.set $22 - local.get $18 - local.set $21 - i32.const 9008 - local.get $13 - i32.const 2 + i32.const 3 i32.shl i32.add - i64.load32_u - local.get $7 - i64.extend_i32_s - i64.shl - local.set $20 - local.get $10 - local.set $19 - local.get $23 - local.get $17 - i32.const 1 - i32.sub + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $5 i32.const 1 - i32.shl i32.add - local.set $24 - local.get $24 - i32.load16_u - local.set $25 - loop $while-continue|3 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $22 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $26 - local.get $26 - if - local.get $25 - i32.const 1 - i32.sub - local.set $25 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|3 - end - end - local.get $24 - local.get $25 - i32.store16 - local.get $14 - return + local.set $5 + br $for-loop|0 end - br $while-continue|0 end + i32.const 0 end - loop $while-continue|4 - i32.const 1 - local.set $15 - local.get $15 - if - local.get $12 - i64.const 10 - i64.mul - local.set $12 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 2 + i64.eq + ) + (func $~lib/typedarray/Uint64Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + loop $for-loop|0 local.get $5 - i64.const 10 - i64.mul - local.set $5 - local.get $12 + local.get $6 + i32.lt_s + local.set $7 local.get $7 - i64.extend_i32_s - i64.shr_u - local.set $22 - local.get $22 - local.get $14 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne if - local.get $0 - local.get $14 - local.tee $25 - i32.const 1 - i32.add - local.set $14 - local.get $25 - i32.const 1 + local.get $4 + local.get $5 + i32.const 3 i32.shl i32.add - i32.const 48 - local.get $22 - i32.wrap_i64 - i32.const 65535 - i32.and + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $5 + i32.const 1 i32.add - i32.store16 + local.set $5 + br $for-loop|0 end - local.get $12 - local.get $9 - i64.and - local.set $12 - local.get $13 - i32.const 1 - i32.sub - local.set $13 - local.get $12 + end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 2 + f32.eq + ) + (func $~lib/typedarray/Float32Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + loop $for-loop|0 local.get $5 - i64.lt_u + local.get $6 + i32.lt_s + local.set $7 + local.get $7 if - global.get $~lib/util/number/_K - local.get $13 - i32.add - global.set $~lib/util/number/_K - local.get $10 - i32.const 9008 - i32.const 0 - local.get $13 - i32.sub + local.get $4 + local.get $5 i32.const 2 i32.shl i32.add - i64.load32_u - i64.mul - local.set $10 - local.get $0 - local.set $17 - local.get $14 - local.set $26 + f32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + end local.get $5 - local.set $27 - local.get $12 - local.set $21 - local.get $8 - local.set $20 - local.get $10 - local.set $19 - local.get $17 - local.get $26 - i32.const 1 - i32.sub i32.const 1 - i32.shl i32.add - local.set $25 - local.get $25 - i32.load16_u - local.set $24 - loop $while-continue|6 - local.get $21 - local.get $19 - i64.lt_u - if (result i32) - local.get $27 - local.get $21 - i64.sub - local.get $20 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $19 - local.get $21 - i64.sub - local.get $21 - local.get $20 - i64.add - local.get $19 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - local.set $23 - local.get $23 - if - local.get $24 - i32.const 1 - i32.sub - local.set $24 - local.get $21 - local.get $20 - i64.add - local.set $21 - br $while-continue|6 - end - end - local.get $25 - local.get $24 - i32.store16 - local.get $14 - return + local.set $5 + br $for-loop|0 end - br $while-continue|4 end + i32.const 0 end - unreachable ) - (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f32.const 0 + f32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 2 + f64.eq + ) + (func $~lib/typedarray/Float64Array#some (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - local.get $2 - i32.eqz - if + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) local.get $0 + local.set $3 local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $1 - i32.const 2 - i32.add - return - end - local.get $1 - local.get $2 - i32.add - local.set $3 - local.get $1 - local.get $3 - i32.le_s - if (result i32) + local.set $2 local.get $3 - i32.const 21 - i32.le_s - else - i32.const 0 - end - if - local.get $1 + i32.load offset=4 local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $5 local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 if - local.get $0 local.get $4 - i32.const 1 + local.get $5 + i32.const 3 i32.shl i32.add - i32.const 48 - i32.store16 - local.get $4 + f64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $5 i32.const 1 i32.add - local.set $4 + local.set $5 br $for-loop|0 end end + i32.const 0 + end + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + f64.const 0 + f64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Int8Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) local.get $0 + local.set $3 + local.get $1 + local.set $2 local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store - local.get $3 - i32.const 2 - i32.add - return - else - local.get $3 + i32.load offset=4 + local.set $4 i32.const 0 - i32.gt_s - if (result i32) - local.get $3 - i32.const 21 - i32.le_s - else - i32.const 0 - end - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $4 - local.get $4 - i32.const 2 - i32.add - local.get $4 - i32.const 0 - local.get $2 - i32.sub - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.store16 - local.get $1 - i32.const 1 - i32.add - return - else - i32.const -6 - local.get $3 + local.set $5 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 i32.lt_s - if (result i32) - local.get $3 - i32.const 0 - i32.le_s - else - i32.const 0 - end + local.set $7 + local.get $7 if - i32.const 2 - local.get $3 - i32.sub - local.set $4 - local.get $0 local.get $4 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $0 - i32.const 48 - i32.const 46 - i32.const 16 + local.get $5 + i32.const 0 i32.shl - i32.or - i32.store - i32.const 2 - local.set $5 - loop $for-loop|1 - local.get $5 - local.get $4 - i32.lt_s - local.set $6 - local.get $6 - if - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|1 - end - end - local.get $1 - local.get $4 i32.add - return - else - local.get $1 - i32.const 1 - i32.eq + i32.load8_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) if - local.get $0 - i32.const 101 - i32.store16 offset=2 - local.get $0 - i32.const 4 - i32.add - local.set $5 - local.get $3 - i32.const 1 - i32.sub - local.set $6 - local.get $6 - i32.const 0 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - local.get $6 - i32.sub - local.set $6 - end - local.get $6 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $7 - local.get $5 - local.set $10 - local.get $6 - local.set $9 - local.get $7 - local.set $8 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $10 - local.get $9 - local.get $8 - call $~lib/util/number/utoa32_dec_lut - local.get $5 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $7 - local.set $1 - local.get $1 - i32.const 2 - i32.add - return - else - local.get $1 - i32.const 1 - i32.shl - local.set $7 - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.const 2 - i32.add - local.get $7 - i32.const 2 - i32.sub - call $~lib/memory/memory.copy - local.get $0 - i32.const 46 - i32.store16 offset=2 - local.get $0 - local.get $7 - i32.add - i32.const 101 - i32.store16 offset=2 - local.get $1 - local.get $0 - local.get $7 - i32.add - i32.const 4 - i32.add - local.set $9 - local.get $3 - i32.const 1 - i32.sub - local.set $8 - local.get $8 - i32.const 0 - i32.lt_s - local.set $4 - local.get $4 - if - i32.const 0 - local.get $8 - i32.sub - local.set $8 - end - local.get $8 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $5 - local.get $9 - local.set $11 - local.get $8 - local.set $6 local.get $5 - local.set $10 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $11 - local.get $6 - local.get $10 - call $~lib/util/number/utoa32_dec_lut - local.get $9 - i32.const 45 - i32.const 43 - local.get $4 - select - i32.store16 - local.get $5 - i32.add - local.set $1 - local.get $1 - i32.const 2 - i32.add - return + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - unreachable end - unreachable + i32.const -1 end - unreachable ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $~lib/typedarray/Uint8Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) - (local $6 i64) + (local $5 i32) + (local $6 i32) (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - (local $12 i64) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 f64) - (local $17 i64) - (local $18 i64) - (local $19 i64) - (local $20 i64) - (local $21 i64) - (local $22 i64) - (local $23 i64) - (local $24 i64) - (local $25 i64) - (local $26 i32) - (local $27 i64) - (local $28 i32) - local.get $1 - f64.const 0 - f64.lt - local.set $2 - local.get $2 - if - local.get $1 - f64.neg - local.set $1 - local.get $0 - i32.const 45 - i32.store16 - end - local.get $1 - local.set $5 - local.get $0 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - i64.reinterpret_f64 - local.set $6 - local.get $6 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $7 - local.get $6 - i64.const 4503599627370495 - i64.and - local.set $8 - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $8 - i64.add - local.set $9 - local.get $7 - i32.const 1 - local.get $7 - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $7 - local.get $9 - local.set $11 - local.get $7 - local.set $10 - local.get $11 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $12 - local.get $10 - i32.const 1 - i32.sub - local.set $13 - local.get $12 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $12 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $12 - local.get $13 - local.get $14 - i32.sub - local.set $13 - i32.const 1 - local.get $11 - i64.const 4503599627370496 - i64.eq - i32.add - local.set $15 - local.get $12 - global.set $~lib/util/number/_frc_plus - local.get $11 - local.get $15 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $10 - local.get $15 - i32.sub - local.get $13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $10 - i32.const -61 - local.get $10 - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $16 - local.get $16 - i32.trunc_f64_s - local.set $15 - local.get $15 - local.get $15 - f64.convert_i32_s - local.get $16 - f64.ne - i32.add - local.set $15 - local.get $15 - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $14 - i32.const 348 - local.get $14 - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 8136 - local.get $14 - i32.const 3 - i32.shl - i32.add - i64.load - global.set $~lib/util/number/_frc_pow - i32.const 8832 - local.get $14 - i32.const 1 - i32.shl - i32.add - i32.load16_s - global.set $~lib/util/number/_exp_pow - local.get $9 - i64.clz - i32.wrap_i64 - local.set $14 - local.get $9 - local.get $14 - i64.extend_i32_s - i64.shl - local.set $9 - local.get $7 - local.get $14 - i32.sub - local.set $7 - global.get $~lib/util/number/_frc_pow - local.set $12 - global.get $~lib/util/number/_exp_pow - local.set $15 - local.get $9 - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $24 - local.get $24 - i64.const 2147483647 - i64.add - local.set $24 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $24 - i64.const 32 - i64.shr_u - local.set $24 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $24 - i64.add - local.set $24 - local.get $7 - local.set $10 - local.get $15 - local.set $13 - local.get $10 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $10 - global.get $~lib/util/number/_frc_plus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $23 - local.get $11 - i64.const 4294967295 - i64.and - local.set $22 - local.get $17 - i64.const 32 - i64.shr_u - local.set $21 - local.get $11 - i64.const 32 - i64.shr_u - local.set $20 - local.get $23 - local.get $22 - i64.mul - local.set $19 - local.get $21 - local.get $22 - i64.mul - local.get $19 - i64.const 32 - i64.shr_u - i64.add - local.set $18 - local.get $23 - local.get $20 - i64.mul - local.get $18 - i64.const 4294967295 - i64.and - i64.add - local.set $25 - local.get $25 - i64.const 2147483647 - i64.add - local.set $25 - local.get $18 - i64.const 32 - i64.shr_u - local.set $18 - local.get $25 - i64.const 32 - i64.shr_u - local.set $25 - local.get $21 - local.get $20 - i64.mul - local.get $18 - i64.add - local.get $25 - i64.add - i64.const 1 - i64.sub - local.set $25 - global.get $~lib/util/number/_exp - local.set $26 - local.get $15 - local.set $13 - local.get $26 - local.get $13 - i32.add - i32.const 64 - i32.add - local.set $26 - global.get $~lib/util/number/_frc_minus - local.set $17 - local.get $12 - local.set $11 - local.get $17 - i64.const 4294967295 - i64.and - local.set $18 - local.get $11 - i64.const 4294967295 - i64.and - local.set $19 - local.get $17 - i64.const 32 - i64.shr_u - local.set $20 - local.get $11 - i64.const 32 - i64.shr_u - local.set $21 - local.get $18 - local.get $19 - i64.mul - local.set $22 - local.get $20 - local.get $19 - i64.mul - local.get $22 - i64.const 32 - i64.shr_u - i64.add - local.set $23 - local.get $18 - local.get $21 - i64.mul - local.get $23 - i64.const 4294967295 - i64.and - i64.add - local.set $27 - local.get $27 - i64.const 2147483647 - i64.add - local.set $27 - local.get $23 - i64.const 32 - i64.shr_u - local.set $23 - local.get $27 - i64.const 32 - i64.shr_u - local.set $27 - local.get $20 - local.get $21 - i64.mul - local.get $23 - i64.add - local.get $27 - i64.add - i64.const 1 - i64.add - local.set $27 - local.get $25 - local.get $27 - i64.sub - local.set $23 - local.get $4 - local.get $24 - local.get $10 - local.get $25 - local.get $26 - local.get $23 - local.get $3 - call $~lib/util/number/genDigits - local.set $28 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $28 - local.get $2 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $28 - local.get $28 - local.get $2 - i32.add - ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - local.get $1 - f64.const 0 - f64.eq - if - local.get $0 - i32.const 48 - i32.store16 - local.get $0 - i32.const 46 - i32.store16 offset=2 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 - i32.const 48 - i32.store16 offset=4 - i32.const 3 - return - end - local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $1 + local.set $3 local.get $1 - f64.ne - if - local.get $0 - i32.const 78 - i32.store16 - local.get $0 - i32.const 97 - i32.store16 offset=2 - local.get $0 - i32.const 78 - i32.store16 offset=4 - i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt - local.set $2 - local.get $2 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 if - local.get $0 - i32.const 45 - i32.store16 - local.get $0 - i32.const 2 + local.get $4 + local.get $5 + i32.const 0 + i32.shl i32.add - local.set $0 + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - local.get $0 - i64.const 29555310648492105 - i64.store - local.get $0 - i64.const 34058970405077102 - i64.store offset=8 - i32.const 8 - local.get $2 - i32.add - return end - unreachable + i32.const -1 end + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/util/number/dtoa_core + i32.const 255 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 + i32.const 255 + i32.and + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 + (func $~lib/typedarray/Uint8ClampedArray#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint8Array.wrap - ) - (func $~lib/typedarray/Int8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.const 0 - local.set $1 end i32.const -1 - local.set $2 end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int8Array.wrap ) - (func $~lib/typedarray/Uint8ClampedArray.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray.wrap + i32.const 255 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int16Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int16Array.wrap + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint16Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange + (func $~lib/typedarray/Int16Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.const 0 - local.set $1 end i32.const -1 - local.set $2 end + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint16Array.wrap + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int32Array.wrap + i32.const 65535 + i32.and + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange + (func $~lib/typedarray/Uint16Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.const 0 - local.set $1 end i32.const -1 - local.set $2 end + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint32Array.wrap + i32.const 65535 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array.wrap + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange + (func $~lib/typedarray/Int32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.const 0 - local.set $1 end i32.const -1 - local.set $2 end + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint64Array.wrap + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Float32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const -1 - local.set $2 - end + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Float32Array.wrap + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Float64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange + (func $~lib/typedarray/Uint32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 end - unreachable + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end - i32.const 0 - local.set $1 end i32.const -1 - local.set $2 end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Float64Array.wrap ) - (func $~lib/typedarray/Int8Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_s + i32.const 4 + i32.eq ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_s - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=12 + i64.const 2 + i64.eq ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 + (func $~lib/typedarray/Int64Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const -1 + end ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=12 + i64.const 4 + i64.eq ) - (func $~lib/typedarray/Uint8Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_u + i64.const 2 + i64.eq ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 0 - i32.shl - i32.add - i32.load8_u + (func $~lib/typedarray/Uint64Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const -1 + end ) - (func $~lib/typedarray/Uint8ClampedArray#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.add - i32.load8_u + i64.const 4 + i64.eq ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=12 + f32.const 2 + f32.eq ) - (func $~lib/typedarray/Int16Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s + (func $~lib/typedarray/Float32Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const -1 + end ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s + f32.const 4 + f32.eq ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=12 + f64.const 2 + f64.eq ) - (func $~lib/typedarray/Uint16Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u + (func $~lib/typedarray/Float64Array#findIndex (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + if + local.get $5 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const -1 + end ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u + f64.const 4 + f64.eq ) - (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 + i32.const 24 i32.shl - i32.add - i32.load - ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 + i32.const 24 + i32.shr_s i32.const 2 - i32.shl - i32.add - i32.load + i32.rem_s + i32.const 0 + i32.eq ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 + (func $~lib/typedarray/Int8Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/typedarray/Uint32Array#__uget (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 + i32.const 24 i32.shl - i32.add - i32.load - ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load offset=4 - local.get $1 + i32.const 24 + i32.shr_s i32.const 2 - i32.shl - i32.add - i32.load - ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) - local.get $0 - i32.load offset=12 + i32.eq ) - (func $~lib/typedarray/Int64Array#__uget (param $0 i32) (param $1 i32) (result i64) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load + i32.const 255 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load + (func $~lib/typedarray/Uint8Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/array/Array#get:length (param $0 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=12 + i32.const 255 + i32.and + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint64Array#__uget (param $0 i32) (param $1 i32) (result i64) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load + i32.const 255 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load - ) - (func $~lib/typedarray/Float32Array#__uget (param $0 i32) (param $1 i32) (result f32) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load + (func $~lib/typedarray/Uint8ClampedArray#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result f32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 + i32.const 255 + i32.and i32.const 2 - i32.shl - i32.add - f32.load - ) - (func $~lib/typedarray/Float64Array#__uget (param $0 i32) (param $1 i32) (result f64) - local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load + i32.eq ) - (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result f64) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load offset=4 - local.get $1 - i32.const 3 + i32.const 16 i32.shl - i32.add - f64.load - ) - (func $~lib/rt/itcms/__collect - (local $0 i32) - i32.const 0 - drop - global.get $~lib/rt/itcms/state + i32.const 16 + i32.shr_s + i32.const 2 + i32.rem_s i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 + i32.eq + ) + (func $~lib/typedarray/Int16Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - local.set $0 - local.get $0 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - if (result i32) i32.const 1 - else - i32.const 0 end - drop ) - (func $~lib/rt/__visit_globals (param $0 i32) - (local $1 i32) - global.get $std/typedarray/forEachValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayReverseValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/testArrayWrapValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource1 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource3 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/typedarray/setSource7 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 336 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 144 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 6704 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/rt/itcms/__visit - i32.const 7760 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - call $~lib/rt/itcms/__visit + i32.const 65535 + i32.and + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq ) - (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $0 - i32.load - local.tee $2 - if - local.get $2 + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 end ) - (func $~lib/typedarray/Int8Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i32.const 65535 + i32.and + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq ) - (func $~lib/typedarray/Uint8ClampedArray~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + (func $~lib/typedarray/Int32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/typedarray/Int16Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Uint16Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq ) - (func $~lib/typedarray/Int32Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/typedarray/Uint32Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i32.const 2 + i32.eq ) - (func $~lib/typedarray/Int64Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i64.const 2 + i64.rem_s + i64.const 0 + i64.eq ) - (func $~lib/typedarray/Uint64Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/typedarray/Float32Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i64.const 2 + i64.eq ) - (func $~lib/typedarray/Float64Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit + i64.const 2 + i64.rem_u + i64.const 0 + i64.eq ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit + i64.const 2 + i64.eq ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load + (func $~lib/math/NativeMathf.mod (param $0 f32) (param $1 f32) (result f32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 i32) + (local $10 i32) + (local $11 i32) local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + f32.abs + f32.const 1 + f32.eq + if + local.get $0 + local.get $0 + f32.trunc + f32.sub + local.get $0 + f32.copysign + return + end local.get $0 + i32.reinterpret_f32 + local.set $2 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + i32.reinterpret_f32 + local.set $3 + local.get $2 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $4 + local.get $3 + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $5 + local.get $2 + i32.const -2147483648 + i32.and + local.set $6 + local.get $3 + i32.const 1 + i32.shl + local.set $7 + local.get $7 i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + i32.eq + if (result i32) + i32.const 1 + else + local.get $4 + i32.const 255 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f32.ne + end + if + local.get $0 + local.get $1 + f32.mul + local.set $8 + local.get $8 + local.get $8 + f32.div + return + end + local.get $2 + i32.const 1 + i32.shl + local.set $9 + local.get $9 + local.get $7 + i32.le_u + if + local.get $0 + local.get $9 + local.get $7 + i32.ne + f32.convert_i32_u + f32.mul + return + end + local.get $4 + i32.eqz + if + local.get $4 + local.get $2 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $4 + local.get $2 + i32.const 1 + local.get $4 + i32.sub + i32.shl + local.set $2 + else + local.get $2 + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $2 + local.get $2 + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $2 + end + local.get $5 + i32.eqz + if + local.get $5 + local.get $3 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $5 + local.get $3 + i32.const 1 + local.get $5 + i32.sub + i32.shl + local.set $3 + else + local.get $3 + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $3 + local.get $3 + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $3 + end + loop $while-continue|0 + local.get $4 + local.get $5 + i32.gt_s + local.set $10 + local.get $10 + if + local.get $2 + local.get $3 + i32.ge_u + if + local.get $2 + local.get $3 + i32.eq + if + f32.const 0 + local.get $0 + f32.mul + return + end + local.get $2 + local.get $3 + i32.sub + local.set $2 + end + local.get $2 + i32.const 1 + i32.shl + local.set $2 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $while-continue|0 + end + end + local.get $2 + local.get $3 + i32.ge_u + if + local.get $2 + local.get $3 + i32.eq + if + f32.const 0 + local.get $0 + f32.mul + return + end + local.get $2 + local.get $3 + i32.sub + local.set $2 + end + local.get $2 + i32.const 8 + i32.shl + i32.clz + local.set $11 + local.get $4 + local.get $11 + i32.sub + local.set $4 + local.get $2 + local.get $11 + i32.shl + local.set $2 + local.get $4 + i32.const 0 + i32.gt_s + if + local.get $2 + i32.const 1 + i32.const 23 + i32.shl + i32.sub + local.set $2 + local.get $2 + local.get $4 + i32.const 23 + i32.shl + i32.or + local.set $2 + else + local.get $2 + i32.const 0 + local.get $4 + i32.sub + i32.const 1 + i32.add + i32.shr_u + local.set $2 + end + local.get $2 + local.get $6 + i32.or + f32.reinterpret_i32 ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/array/Array#__visit + f32.const 2 + call $~lib/math/NativeMathf.mod + f32.const 0 + f32.eq ) - (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit + f32.const 2 + f32.eq ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + (func $~lib/math/NativeMath.mod (param $0 f64) (param $1 f64) (result f64) + (local $2 i64) + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 f64) + (local $9 i64) + (local $10 i32) + (local $11 i64) local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) + f64.abs + f64.const 1 + f64.eq + if + local.get $0 + local.get $0 + f64.trunc + f64.sub + local.get $0 + f64.copysign + return + end local.get $0 + i64.reinterpret_f64 + local.set $2 local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + i64.reinterpret_f64 + local.set $3 + local.get $2 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $4 + local.get $3 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $5 + local.get $2 + i64.const 63 + i64.shr_u + local.set $6 + local.get $3 + i64.const 1 + i64.shl + local.set $7 + local.get $7 + i64.const 0 + i64.eq + if (result i32) + i32.const 1 + else + local.get $4 + i64.const 2047 + i64.eq + end + if (result i32) + i32.const 1 + else + local.get $1 + local.get $1 + f64.ne + end + if + local.get $0 + local.get $1 + f64.mul + local.set $8 + local.get $8 + local.get $8 + f64.div + return + end + local.get $2 + i64.const 1 + i64.shl + local.set $9 + local.get $9 + local.get $7 + i64.le_u + if + local.get $0 + local.get $9 + local.get $7 + i64.ne + f64.convert_i32_u + f64.mul + return + end + local.get $4 + i64.const 0 + i64.ne + i32.eqz + if + local.get $4 + local.get $2 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $4 + local.get $2 + i64.const 1 + local.get $4 + i64.sub + i64.shl + local.set $2 + else + local.get $2 + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $2 + local.get $2 + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $2 + end + local.get $5 + i64.const 0 + i64.ne + i32.eqz + if + local.get $5 + local.get $3 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $5 + local.get $3 + i64.const 1 + local.get $5 + i64.sub + i64.shl + local.set $3 + else + local.get $3 + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $3 + local.get $3 + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $3 + end + loop $while-continue|0 + local.get $4 + local.get $5 + i64.gt_s + local.set $10 + local.get $10 + if + local.get $2 + local.get $3 + i64.ge_u + if + local.get $2 + local.get $3 + i64.eq + if + f64.const 0 + local.get $0 + f64.mul + return + end + local.get $2 + local.get $3 + i64.sub + local.set $2 + end + local.get $2 + i64.const 1 + i64.shl + local.set $2 + local.get $4 + i64.const 1 + i64.sub + local.set $4 + br $while-continue|0 + end + end + local.get $2 + local.get $3 + i64.ge_u + if + local.get $2 + local.get $3 + i64.eq + if + f64.const 0 + local.get $0 + f64.mul + return + end + local.get $2 + local.get $3 + i64.sub + local.set $2 + end + local.get $2 + i64.const 11 + i64.shl + i64.clz + local.set $11 + local.get $4 + local.get $11 + i64.sub + local.set $4 + local.get $2 + local.get $11 + i64.shl + local.set $2 + local.get $4 + i64.const 0 + i64.gt_s + if + local.get $2 + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $2 + local.get $2 + local.get $4 + i64.const 52 + i64.shl + i64.or + local.set $2 + else + local.get $2 + i64.const 0 + local.get $4 + i64.sub + i64.const 1 + i64.add + i64.shr_u + local.set $2 + end + local.get $2 + local.get $6 + i64.const 63 + i64.shl + i64.or + f64.reinterpret_i64 ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit + f64.const 2 + call $~lib/math/NativeMath.mod + f64.const 0 + f64.eq ) - (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float64Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + block $for-continue|0 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + if + br $for-continue|0 + end + i32.const 0 + br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + i32.const 1 + end ) - (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit + f64.const 2 + f64.eq ) - (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 - i32.load offset=4 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit + local.set $2 + local.get $3 + i32.load offset=4 + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit - ) - (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit - ) - (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit - ) - (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f32_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#forEach (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) local.get $0 + local.set $3 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (param $0 i32) (param $1 i32) - local.get $0 + local.set $2 + local.get $3 i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit + local.set $4 + i32.const 0 + local.set $5 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + local.set $7 + local.get $7 + if + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $5 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_none) + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load8_s + local.set $8 + local.get $6 + local.get $7 + i32.load8_s + i32.store8 + local.get $7 + local.get $8 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint8Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load8_u + local.set $8 + local.get $6 + local.get $7 + i32.load8_u + i32.store8 + local.get $7 + local.get $8 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8ClampedArray#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 0 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load8_u + local.set $8 + local.get $6 + local.get $7 + i32.load8_u + i32.store8 + local.get $7 + local.get $8 + i32.store8 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load16_s + local.set $8 + local.get $6 + local.get $7 + i32.load16_s + i32.store16 + local.get $7 + local.get $8 + i32.store16 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint16Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load16_u + local.set $8 + local.get $6 + local.get $7 + i32.load16_u + i32.store16 + local.get $7 + local.get $8 + i32.store16 + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load + local.set $8 + local.get $6 + local.get $7 + i32.load + i32.store + local.get $7 + local.get $8 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint32Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint32Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $7 + local.get $6 + i32.load + local.set $8 + local.get $6 + local.get $7 + i32.load + i32.store + local.get $7 + local.get $8 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $7 + local.get $6 + i64.load + local.set $8 + local.get $6 + local.get $7 + i64.load + i64.store + local.get $7 + local.get $8 + i64.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint64Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Uint64Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $7 + local.get $6 + i64.load + local.set $8 + local.get $6 + local.get $7 + i64.load + i64.store + local.get $7 + local.get $8 + i64.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float32Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Float32Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.set $7 + local.get $6 + f32.load + local.set $8 + local.get $6 + local.get $7 + f32.load + f32.store + local.get $7 + local.get $8 + f32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#reverse (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f64) local.get $0 + local.set $1 local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 i32.load offset=4 + local.set $2 + i32.const 0 + local.set $3 local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit (param $0 i32) (param $1 i32) - local.get $0 - i32.load offset=4 + call $~lib/typedarray/Float64Array#get:length + i32.const 1 + i32.sub + local.set $4 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + local.set $5 + local.get $5 + if + local.get $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $2 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.set $7 + local.get $6 + f64.load + local.set $8 + local.get $6 + local.get $7 + f64.load + f64.store + local.get $7 + local.get $8 + f64.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|0 + end + end local.get $1 - call $~lib/rt/itcms/__visit ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit + (func $~lib/typedarray/Int8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 + i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.get $4 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $2 + end local.get $0 local.get $1 - call $~lib/array/Array#__visit + local.get $2 + call $~lib/typedarray/Int8Array#lastIndexOf ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $0 + i32.store local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store offset=4 i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) + call $~lib/typedarray/Int8Array#indexOf i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) - i32.const 0 - drop - local.get $0 - i32.load - local.get $1 - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) - block $invalid - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> - block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> - block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> - block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> - block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> - block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> - block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> - block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> - block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> - block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> - block $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> - block $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> - block $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> - block $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> - block $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> - block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> - block $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> - block $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> - block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> - block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> - block $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> - block $~lib/array/Array - block $~lib/array/Array - block $~lib/function/Function<%28f64%2Cf64%29=>i32> - block $~lib/typedarray/Float64Array - block $~lib/typedarray/Float32Array - block $~lib/typedarray/Uint64Array - block $~lib/typedarray/Int64Array - block $~lib/typedarray/Uint32Array - block $~lib/typedarray/Int32Array - block $~lib/typedarray/Uint16Array - block $~lib/typedarray/Int16Array - block $~lib/typedarray/Uint8ClampedArray - block $~lib/typedarray/Uint8Array - block $~lib/typedarray/Int8Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - local.get $0 - i32.const 8 - i32.sub - i32.load - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Int8Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Int16Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint16Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Int32Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint32Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Int64Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Uint64Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Float32Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - unreachable - ) - (func $~start - call $start:std/typedarray - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + i32.eq + i32.eqz if - i32.const 30560 - i32.const 30608 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 call $~lib/builtins/abort unreachable end - ) - (func $~lib/typedarray/Int8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 + local.get $2 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 0 + i32.const 544 + i32.const 581 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 + i32.const -1 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - ) - (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 + i32.const 3 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int16Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint16Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint32Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int64Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 + call $~lib/typedarray/Int8Array#indexOf i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint64Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - local.get $1 i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Float64Array#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - local.get $1 + call $~lib/typedarray/Int8Array#indexOf i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/typedarray/testInstantiate (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 48 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=32 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=40 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store - local.get $1 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 32 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT - i32.mul + local.get $2 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 33 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int8Array#get:length - local.get $0 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 34 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 local.get $2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 37 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 38 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Uint8Array#get:length - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 - i32.store offset=12 - local.get $3 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength i32.const 0 - local.get $0 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store offset=16 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 47 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int16Array#get:length - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 49 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint16Array#constructor - local.tee $5 - i32.store offset=20 - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.const 11 + i32.const 1 + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 52 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 53 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Uint16Array#get:length - local.get $0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 54 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Int32Array#constructor - local.tee $6 - i32.store offset=24 - local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.const -1 + i32.const 1 + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 57 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 58 + i32.const 592 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int32Array#get:length - local.get $0 + local.get $2 + i32.const 3 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 59 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Uint32Array#constructor - local.tee $7 - i32.store offset=28 - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 62 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $7 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.mul + local.get $2 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 63 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Uint32Array#get:length - local.get $0 + local.get $2 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 64 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Int64Array#constructor - local.tee $8 - i32.store offset=32 - local.get $8 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 + local.get $2 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 67 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $8 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.mul + local.get $2 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 68 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $8 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int64Array#get:length - local.get $0 + local.get $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 69 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int8Array#subarray + local.tee $5 + i32.store offset=8 + local.get $5 + i32.const 3 i32.const 0 - local.get $0 - call $~lib/typedarray/Uint64Array#constructor - local.tee $9 - i32.store offset=36 - local.get $9 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 72 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $9 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT - i32.mul + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 73 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $9 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Uint64Array#get:length - local.get $0 + local.get $5 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 4 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 74 + i32.const 604 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Float32Array#constructor - local.tee $10 - i32.store offset=40 - local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $5 + i32.const 5 i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 5 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 77 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $10 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT - i32.mul + local.get $5 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 78 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $10 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Float32Array#get:length - local.get $0 + local.get $5 + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 79 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - call $~lib/typedarray/Float64Array#constructor - local.tee $11 - i32.store offset=44 - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $5 + i32.const 11 i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 82 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $11 - i32.load offset=8 - local.get $0 - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.mul + local.get $5 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int8Array#indexOf + i32.const 5 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 83 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Float64Array#get:length - local.get $0 + local.get $5 + i32.const 5 + i32.const 2 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 84 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12206,401 +13421,191 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $7 local.get $7 - i32.lt_s - select - end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select - end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s - if (result i32) + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end local.get $6 - local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 i32.lt_s - select + if + local.get $7 + local.get $6 + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $4 + i32.const 255 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Float64Array#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 f64) - (local $7 f64) + (local $6 i32) + (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - block $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length local.set $4 - local.get $4 - i32.const 1 - i32.le_s - if - local.get $3 - br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 - end + local.get $2 + local.set $3 local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 2 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $7 + local.get $7 + i32.const 0 i32.eq if - local.get $5 - f64.load offset=8 + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 + i32.add local.set $6 - local.get $5 - f64.load - local.set $7 + else local.get $6 local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s + i32.ge_s if - local.get $5 local.get $7 - f64.store offset=8 - local.get $5 - local.get $6 - f64.store + i32.const 1 + i32.sub + local.set $6 end - local.get $3 - br $~lib/typedarray/SORT<~lib/typedarray/Float64Array,f64>|inlined.0 end local.get $5 - local.set $10 - local.get $4 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $2 - local.tee $8 - i32.store offset=12 - i32.const 0 - drop - local.get $9 - i32.const 256 - i32.lt_s - if - local.get $10 - local.get $9 - local.get $8 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=16 - local.get $11 - call $~lib/util/sort/insertionSort - else - local.get $10 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 local.get $9 - local.get $8 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=16 - local.get $11 - call $~lib/util/sort/weakHeapSort + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $4 + i32.const 255 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end - local.get $3 + i32.const -1 end - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Int8Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Uint8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Uint8Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -12608,834 +13613,561 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $7 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $0 i32.store - local.get $1 - local.set $6 - local.get $2 - local.set $5 - local.get $3 - local.set $4 - local.get $7 - i32.load offset=4 - local.set $8 - local.get $7 - local.set $12 + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int8Array#get:length - local.set $9 - local.get $5 i32.const 0 - i32.lt_s - if (result i32) - local.get $9 - local.get $5 - i32.add - local.tee $10 - i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - else - local.get $5 - local.tee $11 - local.get $9 - local.tee $10 - local.get $11 - local.get $10 - i32.lt_s - select - end - local.set $5 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $9 - local.get $4 - i32.add - local.tee $10 - i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - else - local.get $4 - local.tee $11 - local.get $9 - local.tee $10 - local.get $11 - local.get $10 - i32.lt_s - select - end - local.set $4 - i32.const 1 - i32.const 1 - i32.eq - drop - local.get $5 - local.get $4 - i32.lt_s - if - local.get $8 - local.get $5 - i32.add - local.get $6 - local.get $4 - local.get $5 - i32.sub - call $~lib/memory/memory.fill - end - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $std/typedarray/isInt8ArrayEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/typedarray/Int8Array#get:length - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 0 - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/typedarray/Int8Array#get:length local.set $3 loop $for-loop|0 - local.get $2 local.get $3 + local.get $1 i32.lt_s local.set $4 local.get $4 if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - call $~lib/typedarray/Int8Array#__get - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|0 end end - i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/typedarray/Int8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 local.get $2 - local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int8Array#get:length - local.set $6 - local.get $4 i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 + i32.const 0 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $4 - local.get $3 + local.get $2 + i32.const 11 i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $5 - i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 - local.get $3 - local.get $4 - i32.sub - i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $~lib/typedarray/Int32Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $7 - i32.store - local.get $1 - local.set $6 local.get $2 - local.set $5 - local.get $3 - local.set $4 - local.get $7 - i32.load offset=4 - local.set $8 - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=4 - local.get $12 - call $~lib/typedarray/Int32Array#get:length - local.set $9 - local.get $5 + i32.const -1 i32.const 0 - i32.lt_s - if (result i32) - local.get $9 - local.get $5 - i32.add - local.tee $10 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - else - local.get $5 - local.tee $11 - local.get $9 - local.tee $10 - local.get $11 - local.get $10 - i32.lt_s - select + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $5 - local.get $4 + local.get $2 + i32.const 3 i32.const 0 - i32.lt_s - if (result i32) - local.get $9 - local.get $4 - i32.add - local.tee $10 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - else - local.get $4 - local.tee $11 - local.get $9 - local.tee $10 - local.get $11 - local.get $10 - i32.lt_s - select + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $4 - i32.const 4 - i32.const 1 + local.get $2 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 3 i32.eq - drop - loop $for-loop|0 - local.get $5 - local.get $4 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $8 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.get $6 - i32.store - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - ) - (func $std/typedarray/isInt32ArrayEqual (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/typedarray/Int32Array#get:length - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/array/Array#get:length - i32.ne + local.get $2 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 3 + i32.eq + i32.eqz if i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $2 - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - call $~lib/typedarray/Int32Array#get:length - local.set $3 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - call $~lib/typedarray/Int32Array#__get - local.get $1 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store - local.get $5 - local.get $2 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $2 i32.const 1 - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) - (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 10 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - i32.store offset=8 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 11 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array#lastIndexOf@varargs + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Uint8Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 local.get $2 - local.set $3 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint8Array#subarray + local.tee $5 + i32.store offset=8 local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - local.get $4 + i32.const 3 i32.const 0 - i32.lt_s - if (result i32) - local.get $4 - local.get $6 - i32.add - local.tee $7 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 544 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $4 - local.get $3 + local.get $5 + i32.const 4 i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $6 - i32.add - local.tee $7 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 4 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $3 - local.get $3 - local.get $4 + local.get $5 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 5 + i32.const 4 i32.sub - local.tee $7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 9 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $6 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 10 i32.const 0 - local.get $6 - call $~lib/typedarray/Int32Array#constructor - local.tee $7 - i32.store offset=8 - local.get $7 - i32.load offset=4 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $5 - i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.get $6 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Uint8Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.set $9 + call $~lib/typedarray/Uint8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Int32Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $7 - i32.store - local.get $1 - local.set $6 - local.get $2 - local.set $5 - local.get $3 - local.set $4 - local.get $7 - local.set $15 - global.get $~lib/memory/__stack_pointer - local.get $15 - i32.store offset=4 - local.get $15 - call $~lib/typedarray/Int32Array#get:length - local.set $8 - local.get $7 - i32.load offset=4 - local.set $9 - local.get $4 - local.tee $10 - local.get $8 - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - local.set $4 - local.get $6 - i32.const 0 - i32.lt_s - if (result i32) - local.get $8 - local.get $6 - i32.add - local.tee $11 - i32.const 0 - local.tee $10 - local.get $11 - local.get $10 - i32.gt_s - select - else - local.get $6 - local.tee $10 - local.get $8 - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $10 - local.get $5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $8 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 local.get $5 - i32.add - local.tee $11 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $7 + local.get $7 i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $5 - local.tee $12 - local.get $8 - local.tee $11 - local.get $12 - local.get $11 - i32.lt_s - select - end - local.set $12 - local.get $4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $8 - local.get $4 - i32.add - local.tee $11 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $6 i32.const 0 - local.tee $13 - local.get $11 - local.get $13 - i32.gt_s - select - else - local.get $4 - local.tee $13 - local.get $8 - local.tee $11 - local.get $13 - local.get $11 i32.lt_s - select + if + local.get $7 + local.get $6 + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $4 + i32.const 255 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 end - local.set $13 - local.get $13 - local.get $12 - i32.sub - local.tee $11 - local.get $8 - local.get $10 - i32.sub - local.tee $14 - local.get $11 - local.get $14 - i32.lt_s - select - local.set $11 - local.get $9 - local.get $10 - i32.const 2 - i32.shl - i32.add - local.get $9 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.const 2 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.set $15 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $15 ) - (func $~lib/typedarray/Int8Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13443,87 +14175,105 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Int8Array#get:length - local.set $8 - loop $for-loop|0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $7 local.get $7 - local.get $8 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $9 - local.get $9 if - local.get $3 - local.get $6 local.get $7 - i32.const 0 - i32.shl + local.get $6 i32.add - i32.load8_s - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 + local.set $6 + else + local.get $6 local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $4 + i32.const 255 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -13536,568 +14286,464 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const -1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 3 i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#indexOf i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1872 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#reduce - local.set $1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end + i32.const 1 + i32.const -100 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 11 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1904 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8Array#reduce - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 + i32.const -1 + i32.const 1 + global.set $~argumentsLength i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3 + i32.const 1 + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 + i32.const 3 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 100 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1936 - local.set $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.tee $5 i32.store offset=8 - local.get $2 + local.get $5 + i32.const 3 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#reduce - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $5 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 4 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $5 - i32.load offset=4 - local.set $6 + i32.const 5 i32.const 0 - local.set $7 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Int16Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 9 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 10 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 11 i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1968 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#reduce - local.set $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable @@ -14107,7 +14753,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -14115,87 +14761,193 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Uint16Array#get:length - local.set $8 - loop $for-loop|0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $7 local.get $7 - local.get $8 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $9 - local.get $9 if - local.get $3 - local.get $6 local.get $7 - i32.const 1 - i32.shl + local.get $6 i32.add - i32.load16_u + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Int16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if local.get $7 - i32.const 1 + local.get $6 i32.add - local.set $7 - br $for-loop|0 + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.get $4 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -14208,559 +14960,466 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 - i32.const 2000 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const -1 i32.const 0 - call $~lib/typedarray/Uint16Array#reduce - local.set $1 - local.get $1 - i32.const 65535 - i32.and - i32.const 6 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 582 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Int32Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 + i32.const 3 i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2032 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int16Array#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#reduce - local.set $1 - local.get $1 - i32.const 6 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#reduce (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 + i32.const 11 + i32.const 1 + global.set $~argumentsLength i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Uint32Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const -1 + i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 3 + i32.const 1 + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 + i32.const 3 i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2064 - local.set $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int16Array#subarray + local.tee $5 i32.store offset=8 - local.get $2 + local.get $5 + i32.const 3 i32.const 0 - call $~lib/typedarray/Uint32Array#reduce - local.set $1 - local.get $1 - i32.const 6 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#reduce (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 local.get $5 - i32.load offset=4 - local.set $6 + i32.const 4 i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Int64Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end + call $~lib/typedarray/Int16Array#indexOf + i32.const 4 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i64) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $5 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const 5 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 9 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 10 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 11 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int16Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2096 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i64.const 0 - call $~lib/typedarray/Int64Array#reduce - local.set $1 - local.get $1 - i64.const 6 - i64.eq + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable @@ -14770,96 +15429,197 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#reduce (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i64) + (func $~lib/typedarray/Uint16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Uint64Array#get:length - local.set $8 - loop $for-loop|0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $7 local.get $7 - local.get $8 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $9 - local.get $9 if - local.get $3 - local.get $6 local.get $7 - i32.const 3 - i32.shl + local.get $6 i32.add - i64.load + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $3 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $4 + i32.const 65535 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Uint16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if local.get $7 - i32.const 1 + local.get $6 i32.add - local.set $7 - br $for-loop|0 + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $4 + i32.const 65535 + i32.and + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + (func $~lib/typedarray/Uint16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Uint16Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint16Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (local $0 i32) - (local $1 i64) + (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -14872,1149 +15632,662 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2128 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduce - local.set $1 - local.get $1 - i64.const 6 - i64.eq + i32.const 0 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 580 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#reduce (param $0 i32) (param $1 i32) (param $2 f32) (result f32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 + i32.const 11 i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Float32Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $f32_f32_i32_i32_=>_f32) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 f32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + i32.const -1 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2160 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - f32.const 0 - call $~lib/typedarray/Float32Array#reduce - local.set $1 - local.get $1 - f32.const 6 - f32.eq + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 582 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#reduce (param $0 i32) (param $1 i32) (param $2 f64) (result f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - i32.const 0 - local.set $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=8 - local.get $10 - call $~lib/typedarray/Float64Array#get:length - local.set $8 - loop $for-loop|0 - local.get $7 - local.get $8 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $7 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=12 - local.get $10 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $f64_f64_i32_i32_=>_f64) - local.set $3 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 f64) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 3 i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2192 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - f64.const 0 - call $~lib/typedarray/Float64Array#reduce - local.set $1 - local.get $1 - f64.const 6 - f64.eq + call $~lib/typedarray/Uint16Array#indexOf + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 323 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int8Array#at - i32.const 1 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Int8Array#at + local.get $2 i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Int8Array#at + local.get $2 i32.const 1 + i32.const 10 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Uint8Array#at + i32.const -100 + call $~lib/typedarray/Uint16Array#indexOf i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Uint8Array#at - i32.const 3 + local.get $2 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint16Array#lastIndexOf@varargs + i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Uint8Array#at + local.get $2 + i32.const 11 i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint16Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + i32.const -1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 1 + call $~lib/typedarray/Uint16Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 592 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Uint8ClampedArray#at + local.get $2 + i32.const 3 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint16Array#lastIndexOf@varargs i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 1 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Int16Array#at - i32.const 1 + call $~lib/typedarray/Uint16Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Int16Array#at + local.get $2 i32.const 3 + i32.const 2 + call $~lib/typedarray/Uint16Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Int16Array#at + local.get $2 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Uint16Array#lastIndexOf i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Uint16Array#at + i32.const -10 + call $~lib/typedarray/Uint16Array#lastIndexOf i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Uint16Array#lastIndexOf i32.const -1 - call $~lib/typedarray/Uint16Array#at - i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Uint16Array#at - i32.const 1 + local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint16Array#subarray + local.tee $5 + i32.store offset=8 + local.get $5 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $5 + i32.const 4 i32.const 0 - call $~lib/typedarray/Int32Array#at - i32.const 1 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 4 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 604 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Int32Array#at - i32.const 3 + local.get $5 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 5 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Int32Array#at - i32.const 1 + local.get $5 + i32.const 9 + i32.const 0 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $5 + i32.const 10 i32.const 0 - call $~lib/typedarray/Uint32Array#at - i32.const 1 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $5 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint16Array#indexOf i32.const -1 - call $~lib/typedarray/Uint32Array#at - i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Uint32Array#at + local.get $5 + i32.const 5 i32.const 1 + call $~lib/typedarray/Uint16Array#indexOf + i32.const 5 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 + i32.const 2 + call $~lib/typedarray/Uint16Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> + (func $~lib/typedarray/Int32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $4 + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Int32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 + i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $4 + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int32Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -16023,908 +16296,464 @@ i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 + call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 i32.store offset=4 - local.get $1 i32.const 0 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.eq + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 580 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf i32.const -1 - call $~lib/typedarray/Int64Array#at - i64.const 3 - i64.eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 581 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.eq + local.get $2 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 582 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.eq + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 583 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -1 - call $~lib/typedarray/Uint64Array#at - i64.const 3 - i64.eq + local.get $2 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.eq + local.get $2 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 0 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.eq + i32.const 4 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int32Array#indexOf i32.const -1 - call $~lib/typedarray/Float32Array#at - f32.const 3 - f32.eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 346 + local.get $2 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Int32Array#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.eq + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 344 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + local.get $2 + i32.const 11 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs i32.const -1 - call $~lib/typedarray/Float64Array#at - f64.const 3 - f64.eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 345 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const -3 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.eq + local.get $2 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 346 + i32.const 592 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Int8Array#get:length + i32.const 3 i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 - i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end - end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2224 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#reduceRight - local.set $1 - local.get $1 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.const 6 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Uint8Array#get:length i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.const 100 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.const -10 + call $~lib/typedarray/Int32Array#lastIndexOf i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2256 - local.set $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int32Array#subarray + local.tee $5 i32.store offset=8 - local.get $2 + local.get $5 + i32.const 3 i32.const 0 - call $~lib/typedarray/Uint8Array#reduceRight - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const 4 + i32.const 4 i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $5 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const 5 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 9 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 10 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 11 i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int32Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2288 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#reduceRight - local.set $1 - local.get $1 - i32.const 255 - i32.and - i32.const 6 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable @@ -16934,7 +16763,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16942,86 +16771,185 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $7 local.get $7 i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 + i32.eq + if (result i32) + i32.const 1 + else local.get $6 local.get $7 - i32.const 1 - i32.shl + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 i32.add - i32.load16_s + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 local.get $7 - local.get $5 + i32.lt_s local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $4 + i32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 + local.get $6 + i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + local.get $4 + i32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> + (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Uint32Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint32Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -17034,559 +16962,462 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2320 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 11 i32.const 0 - call $~lib/typedarray/Int16Array#reduceRight - local.set $1 - local.get $1 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.const 6 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 581 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Uint16Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + i32.const 3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 3 i32.const 2 + call $~lib/typedarray/Uint32Array#indexOf i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2352 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#reduceRight - local.set $1 - local.get $1 - i32.const 65535 - i32.and - i32.const 6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Int32Array#get:length i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.const 10 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i32.const 1 + i32.const -100 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 i32.const 0 i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i32.const 11 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2384 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 3 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#reduceRight - local.set $1 - local.get $1 - i32.const 6 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const -11 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint32Array#subarray + local.tee $5 + i32.store offset=8 local.get $5 - i32.load offset=4 - local.set $6 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 4 + i32.const 4 i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i32_i32_i32_i32_=>_i32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $5 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 5 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 9 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 10 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 11 i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i32.const 5 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2416 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#reduceRight - local.set $1 - local.get $1 - i32.const 6 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable @@ -17596,95 +17427,193 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i64) - (local $4 i32) + (func $~lib/typedarray/Int64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Int64Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $7 local.get $7 i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 + i32.eq + if (result i32) + i32.const 1 + else local.get $6 local.get $7 - i32.const 3 - i32.shl + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 i32.add - i64.load + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 local.get $7 - local.get $5 + i32.lt_s local.set $9 - global.get $~lib/memory/__stack_pointer local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) - local.set $3 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $4 + i64.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Int64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 + local.get $6 + i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s + local.set $9 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $4 + i64.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (local $0 i32) - (local $1 i64) + (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -17697,939 +17626,661 @@ i32.const 0 i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2448 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - i64.const 0 - call $~lib/typedarray/Int64Array#reduceRight + call $~lib/array/Array#get:length local.set $1 - local.get $1 - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 367 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i64) (result i64) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 + i32.const 0 local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Uint64Array#get:length - i32.const 1 - i32.sub - local.set $7 loop $for-loop|0 - local.get $7 - i32.const 0 - i32.ge_s - local.set $8 - local.get $8 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 if + local.get $2 local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 i32.add - i64.load - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $i64_i64_i32_i32_=>_i64) local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 br $for-loop|0 end end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i64) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $2 i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int64Array#indexOf i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 11 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i64.const -1 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i64.const 3 + i32.const 2 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2480 - local.set $2 - global.get $~lib/memory/__stack_pointer + i64.const 3 + i32.const 3 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduceRight - local.set $1 - local.get $1 - i64.const 6 - i64.eq + i64.const 1 + i32.const 10 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#reduceRight (param $0 i32) (param $1 i32) (param $2 f32) (result f32) - (local $3 f32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Float32Array#get:length + i64.const 1 + i32.const -100 + call $~lib/typedarray/Int64Array#indexOf i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $f32_f32_i32_i32_=>_f32) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 f32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + local.get $2 i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int64Array#lastIndexOf@varargs i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 11 + i32.const 1 + global.set $~argumentsLength i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 591 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const -1 i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2512 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - f32.const 0 - call $~lib/typedarray/Float32Array#reduceRight - local.set $1 - local.get $1 - f32.const 6 - f32.eq + i64.const 3 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#reduceRight (param $0 i32) (param $1 i32) (param $2 f64) (result f64) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 - local.get $5 - i32.load offset=4 - local.set $6 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=8 - local.get $9 - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $7 - loop $for-loop|0 - local.get $7 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - i32.ge_s - local.set $8 - local.get $8 - if - local.get $3 - local.get $6 - local.get $7 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $7 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=12 - local.get $9 - i32.const 4 - global.set $~argumentsLength - local.get $4 - i32.load - call_indirect (type $f64_f64_i32_i32_=>_f64) - local.set $3 - local.get $7 - i32.const 1 - i32.sub - local.set $7 - br $for-loop|0 - end + i32.const 544 + i32.const 594 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 f64) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 3 i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 596 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2544 - local.set $2 - global.get $~lib/memory/__stack_pointer + i64.const 1 + i32.const 100 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i64.const 1 + i32.const -10 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - f64.const 0 - call $~lib/typedarray/Float64Array#reduceRight - local.set $1 - local.get $1 - f64.const 6 - f64.eq + i64.const 1 + i32.const -11 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 367 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int64Array#subarray + local.tee $5 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int8Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 0 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 + local.get $5 + i64.const 3 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 + local.get $5 + i64.const 4 i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + call $~lib/typedarray/Int64Array#indexOf + i32.const 4 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i64.const 5 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int64Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i64.const 9 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2576 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int8Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + i64.const 10 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 + local.get $5 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 + local.get $5 + i64.const 5 + i32.const 1 + call $~lib/typedarray/Int64Array#indexOf + i32.const 5 + i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $5 + i64.const 5 + i32.const 2 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 0 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $10 - local.get $10 if - local.get $8 - local.get $9 - i32.const 0 - i32.shl + local.get $7 + local.get $6 i32.add - local.get $5 - local.get $9 + local.tee $8 i32.const 0 - i32.shl - i32.add - i32.load8_u + local.tee $9 + local.get $8 local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 local.get $9 - i32.const 1 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $4 + i64.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Uint64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s local.set $9 - br $for-loop|0 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $4 + i64.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Uint64Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint64Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -18637,1234 +18288,664 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 + i64.const 0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint64Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + i64.const -1 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 3 i32.const 2 + call $~lib/typedarray/Uint64Array#indexOf i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2608 - local.set $2 - global.get $~lib/memory/__stack_pointer + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - call $~lib/typedarray/Uint8Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + i64.const 3 + i32.const 4 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + i64.const 1 + i32.const 10 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get + i64.const 1 + i32.const -100 + call $~lib/typedarray/Uint64Array#indexOf i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + i64.const 0 i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 + i64.const 11 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 0 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 + i64.const -1 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 3 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2640 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + i64.const 3 i32.const 4 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + i64.const 3 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 1 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + i64.const 1 + i32.const 100 + call $~lib/typedarray/Uint64Array#lastIndexOf i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2672 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int16Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get + i64.const 1 + i32.const -10 + call $~lib/typedarray/Uint64Array#lastIndexOf i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 + i64.const 1 + i32.const -11 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get + i32.const 4 i32.const 9 + call $~lib/typedarray/Uint64Array#subarray + local.tee $5 + i32.store offset=8 + local.get $5 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 603 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint16Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 1 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 + local.get $5 + i64.const 4 i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 4 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2704 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint16Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 604 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get + local.get $5 + i64.const 5 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const 5 i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 + local.get $5 + i64.const 9 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int32Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 2 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 + local.get $5 + i64.const 10 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2736 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int32Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + i64.const 11 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + i64.const 5 i32.const 1 - call $~lib/typedarray/Int32Array#__get + call $~lib/typedarray/Uint64Array#indexOf + i32.const 5 i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + i64.const 5 i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 9 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#indexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint32Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 2 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $10 - local.get $10 if - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 2 - i32.shl + local.get $7 + local.get $6 i32.add - i32.load + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - i32.store + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 local.get $9 - i32.const 1 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $4 + f32.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Float32Array#lastIndexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 f32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s local.set $9 - br $for-loop|0 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load + local.get $4 + f32.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Float32Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float32Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -19872,740 +18953,664 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 + f32.const 0 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Float32Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + f32.const 11 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + f32.const -1 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + f32.const 3 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + f32.const 3 i32.const 2 + call $~lib/typedarray/Float32Array#indexOf i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 584 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2768 - local.set $2 - global.get $~lib/memory/__stack_pointer + f32.const 3 + i32.const 3 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=8 + f32.const 3 + i32.const 4 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 586 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - call $~lib/typedarray/Uint32Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer + f32.const 1 + i32.const 10 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + f32.const 1 + i32.const -100 + call $~lib/typedarray/Float32Array#indexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 588 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + f32.const 0 + i32.const 1 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 590 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + f32.const 11 i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + f32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 592 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + f32.const 3 i32.const 1 - call $~lib/typedarray/Uint32Array#__get + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 593 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + f32.const 3 i32.const 4 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + f32.const 3 + i32.const 3 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 595 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + f32.const 3 i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 3 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i64) - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + f32.const 1 + i32.const 100 + call $~lib/typedarray/Float32Array#lastIndexOf i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2800 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int64Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 597 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + f32.const 1 + i32.const -10 + call $~lib/typedarray/Float32Array#lastIndexOf i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 598 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 9 - i64.eq + f32.const 1 + i32.const -11 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $2 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Float32Array#subarray + local.tee $5 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 3 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 + local.get $5 + f32.const 3 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i64) - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 + local.get $5 + f32.const 4 i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + call $~lib/typedarray/Float32Array#indexOf + i32.const 4 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + f32.const 5 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2832 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint64Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/typedarray/Float32Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + f32.const 9 i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.eq + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.eq + local.get $5 + f32.const 10 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 9 - i64.eq + local.get $5 + f32.const 11 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $5 + f32.const 5 + i32.const 1 + call $~lib/typedarray/Float32Array#indexOf + i32.const 5 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + f32.const 5 + i32.const 2 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array#indexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 2 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $10 - local.get $10 if - local.get $8 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 2 - i32.shl + local.get $7 + local.get $6 i32.add - f32.load + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_f32) - f32.store + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 local.get $9 - i32.const 1 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $4 + f64.eq + if + local.get $6 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $while-continue|0 + end + end + i32.const -1 + end + ) + (func $~lib/typedarray/Float64Array#lastIndexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 0 + i32.lt_s + if + local.get $7 + local.get $6 i32.add + local.set $6 + else + local.get $6 + local.get $7 + i32.ge_s + if + local.get $7 + i32.const 1 + i32.sub + local.set $6 + end + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + i32.const 0 + i32.ge_s local.set $9 - br $for-loop|0 + local.get $9 + if + local.get $8 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $4 + f64.eq + if + local.get $6 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|0 + end end + i32.const -1 end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $0 + call $~lib/typedarray/Float64Array#get:length + local.set $2 + end + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array#lastIndexOf + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -20613,13445 +19618,9786 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $0 i32.store local.get $0 - local.set $2 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + i32.const 0 + local.get $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end local.get $2 + f64.const 0 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Float64Array#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 580 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + f64.const 11 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 581 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer + f64.const -1 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 582 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.store offset=4 + f64.const 3 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 583 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 + f64.const 3 i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2864 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Float32Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.eq + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + f64.const 3 + i32.const 3 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 585 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.eq + f64.const 3 + i32.const 4 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + f64.const 1 + i32.const 10 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 587 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.eq + f64.const 1 + i32.const -100 + call $~lib/typedarray/Float64Array#indexOf + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#map (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - local.set $4 - local.get $3 - i32.load offset=4 - local.set $5 - local.get $4 - i32.const 3 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=16 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $8 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $5 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $9 - local.get $3 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=20 - local.get $11 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_f64) - f64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 - local.get $8 - i32.store offset=4 - local.get $7 - local.get $6 - i32.store offset=8 - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + f64.const 0 i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2896 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Float64Array#map - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.eq + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 388 + i32.const 590 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + f64.const 11 i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 9 - f64.eq + f64.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 390 + i32.const 592 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Int8Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.store8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $8 - i32.const 0 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + f64.const 3 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2928 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int8Array#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + global.set $~argumentsLength i32.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 413 + i32.const 593 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int8Array#get:length + f64.const 3 + i32.const 4 + call $~lib/typedarray/Float64Array#lastIndexOf i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 414 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get + f64.const 3 + i32.const 3 + call $~lib/typedarray/Float64Array#lastIndexOf i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 415 + i32.const 595 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 + f64.const 3 + i32.const 2 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 416 + i32.const 596 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + f64.const 1 + i32.const 100 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 597 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 5 + f64.const 1 + i32.const -10 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 417 + i32.const 598 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + f64.const 1 + i32.const -11 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 599 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Uint8Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 i32.const 4 - call $~lib/rt/itcms/__new + i32.const 9 + call $~lib/typedarray/Float64Array#subarray local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 + i32.store offset=8 + local.get $5 + f64.const 3 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.store8 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $8 - i32.const 0 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 + f64.const 4 i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + call $~lib/typedarray/Float64Array#indexOf + i32.const 4 + i32.const 4 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + f64.const 5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 + call $~lib/typedarray/Float64Array#indexOf i32.const 5 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2960 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint8Array#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $5 + f64.const 9 i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 413 + i32.const 606 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint8Array#get:length - i32.const 3 + local.get $5 + f64.const 10 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 414 + i32.const 607 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + f64.const 11 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 415 + i32.const 608 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + f64.const 5 i32.const 1 - call $~lib/typedarray/Uint8Array#__get + call $~lib/typedarray/Float64Array#indexOf + i32.const 5 i32.const 4 + i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 416 + i32.const 609 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $5 + f64.const 5 i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 417 + i32.const 610 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array#includes (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 0 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 + (local $10 f64) + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 1 + drop + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $10 - local.get $10 if local.get $7 - local.get $9 - i32.const 0 - i32.shl + local.get $6 i32.add - i32.load8_u - local.set $11 - local.get $11 + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) if - local.get $6 local.get $8 - local.tee $12 - i32.const 1 + local.get $6 + i32.const 3 + i32.shl i32.add - local.set $8 - local.get $12 - i32.const 0 - i32.shl + f64.load + local.set $10 + local.get $10 + local.get $4 + f64.eq + if (result i32) + i32.const 1 + else + local.get $10 + local.get $10 + f64.ne + local.get $4 + local.get $4 + f64.ne + i32.and + end + if + i32.const 1 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $6 + i32.const 1 i32.add - local.get $11 - i32.store8 + local.set $6 + br $while-continue|0 end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 end - end - local.get $8 - i32.const 0 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2992 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 - i32.eq - i32.eqz - if i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#includes (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Int16Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 + (local $10 f32) + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 1 + drop + local.get $3 + local.set $6 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $7 + local.get $7 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $6 + local.get $7 + i32.ge_s + end + if + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 + i32.const 0 i32.lt_s - local.set $10 - local.get $10 if local.get $7 - local.get $9 - i32.const 1 - i32.shl + local.get $6 i32.add - i32.load16_s - local.set $11 - local.get $11 + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $6 + end + local.get $5 + i32.load offset=4 + local.set $8 + loop $while-continue|0 + local.get $6 + local.get $7 + i32.lt_s + local.set $9 local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) if - local.get $6 local.get $8 - local.tee $12 - i32.const 1 + local.get $6 + i32.const 2 + i32.shl i32.add - local.set $8 - local.get $12 + f32.load + local.set $10 + local.get $10 + local.get $4 + f32.eq + if (result i32) + i32.const 1 + else + local.get $10 + local.get $10 + f32.ne + local.get $4 + local.get $4 + f32.ne + i32.and + end + if + i32.const 1 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $6 i32.const 1 - i32.shl i32.add - local.get $11 - i32.store16 + local.set $6 + br $while-continue|0 end - local.get $9 + end + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + ) + (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) + local.get $0 + i32.const 100000 + i32.lt_u + if + local.get $0 + i32.const 100 + i32.lt_u + if i32.const 1 + local.get $0 + i32.const 10 + i32.ge_u i32.add - local.set $9 - br $for-loop|0 + return + else + i32.const 3 + local.get $0 + i32.const 10000 + i32.ge_u + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + return + end + unreachable + else + local.get $0 + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $0 + i32.const 1000000 + i32.ge_u + i32.add + return + else + i32.const 8 + local.get $0 + i32.const 1000000000 + i32.ge_u + i32.add + local.get $0 + i32.const 100000000 + i32.ge_u + i32.add + return end + unreachable end - local.get $8 - i32.const 1 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 + unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3024 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int16Array#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable + (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i32) + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $1 + i32.const 10000 + i32.div_u + local.set $4 + local.get $1 + i32.const 10000 + i32.rem_u + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 100 + i32.div_u + local.set $6 + local.get $5 + i32.const 100 + i32.rem_u + local.set $7 + i32.const 6284 + local.get $6 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $8 + i32.const 6284 + local.get $7 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $9 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $8 + local.get $9 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 + end end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int16Array#get:length - i32.const 3 - i32.eq - i32.eqz + i32.const 100 + i32.ge_u if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 100 + i32.div_u + local.set $3 + local.get $1 + i32.const 100 + i32.rem_u + local.set $10 + local.get $3 + local.set $1 + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 6284 + local.get $10 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.eq - i32.eqz + i32.const 10 + i32.ge_u if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + i32.const 2 + i32.sub + local.set $2 + i32.const 6284 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store + else + local.get $2 + i32.const 1 + i32.sub + local.set $2 + i32.const 48 + local.get $1 + i32.add + local.set $11 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end + ) + (func $~lib/util/number/utoa_hex_lut (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $2 + i32.const 2 + i32.ge_u + local.set $3 + local.get $3 + if + local.get $2 + i32.const 2 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 6704 + local.get $1 + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load + i32.store + local.get $1 + i64.const 8 + i64.shr_u + local.set $1 + br $while-continue|0 + end end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 - i32.eq - i32.eqz + i32.and if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 6704 + local.get $1 + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u + i32.store16 end + ) + (func $~lib/util/number/ulog_base (param $0 i64) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i64) + (local $4 i64) + (local $5 i32) local.get $1 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 5 + i32.popcnt + i32.const 1 i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 63 + local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $1 + i32.clz + i32.sub + i32.div_u + i32.const 1 + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $2 - i32.store offset=4 + i64.extend_i32_s + local.set $3 local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Uint16Array#get:length local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 i32.const 1 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 + local.set $5 + loop $while-continue|0 + local.get $0 local.get $4 - i32.lt_s - local.set $10 - local.get $10 + i64.ge_u + local.set $2 + local.get $2 if - local.get $7 - local.get $9 + local.get $0 + local.get $4 + i64.div_u + local.set $0 + local.get $4 + local.get $4 + i64.mul + local.set $4 + local.get $5 i32.const 1 i32.shl - i32.add - i32.load16_u - local.set $11 - local.get $11 - local.get $9 + local.set $5 + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $0 + i64.const 1 + i64.ge_u + local.set $2 + local.get $2 + if + local.get $0 local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.store16 - end - local.get $9 + i64.div_u + local.set $0 + local.get $5 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $5 + br $while-continue|1 end end - local.get $8 - i32.const 1 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/util/number/utoa64_any_core (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + local.get $3 + i64.extend_i32_s + local.set $4 + local.get $3 + local.get $3 + i32.const 1 + i32.sub + i32.and i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store + i32.eq + if + local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $5 + local.get $4 + i64.const 1 + i64.sub + local.set $6 + loop $do-continue|0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7760 + local.get $1 + local.get $6 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $1 + local.get $5 + i64.shr_u + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|0 + end + else + loop $do-continue|1 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $1 + local.get $4 + i64.div_u + local.set $6 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 7760 + local.get $1 + local.get $6 + local.get $4 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $6 + local.set $1 + local.get $1 + i64.const 0 + i64.ne + local.set $7 + local.get $7 + br_if $do-continue|1 + end + end + ) + (func $~lib/string/String#get:length (param $0 i32) (result i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 0 + local.set $2 i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 + drop + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 0 + i32.lt_s local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 + if + i32.const 0 + local.get $1 + i32.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 + end + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 48 + i32.or + i32.store16 + i32.const 1 + local.get $2 + i32.add + return + end local.get $2 + local.set $3 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set + i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set + local.set $6 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 + ) + (func $~lib/typedarray/Int8Array#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set + i32.load offset=4 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Int8Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3056 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint16Array#filter - local.tee $1 - i32.store offset=12 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.const 1 + i32.shl + i32.add + local.set $5 local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 i32.const 0 - i32.eq - i32.eqz - if + i32.const 2 + i32.lt_s + drop + local.get $4 + i32.const 4 + i32.ge_u + if (result i32) + local.get $5 + i32.const 7 + i32.and + local.get $6 + i32.const 7 + i32.and + i32.or + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable end + if + block $do-break|0 + loop $do-continue|0 + local.get $5 + i64.load + local.get $6 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $5 + i32.const 8 + i32.add + local.set $5 + local.get $6 + i32.const 8 + i32.add + local.set $6 + local.get $4 + i32.const 4 + i32.sub + local.set $4 + local.get $4 + i32.const 4 + i32.ge_u + local.set $7 + local.get $7 + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $4 + local.tee $7 + i32.const 1 + i32.sub + local.set $4 + local.get $7 + local.set $7 + local.get $7 + if + local.get $5 + i32.load16_u + local.set $8 + local.get $6 + i32.load16_u + local.set $9 + local.get $8 + local.get $9 + i32.ne + if + local.get $8 + local.get $9 + i32.sub + return + end + local.get $5 + i32.const 2 + i32.add + local.set $5 + local.get $6 + i32.const 2 + i32.add + local.set $6 + br $while-continue|1 + end + end + i32.const 0 + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint16Array#get:length - i32.const 3 i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + return end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.get $0 i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 i32.eq - i32.eqz + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end if i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable + return end - local.get $1 + local.get $0 + call $~lib/string/String#get:length local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 - i32.eq - i32.eqz + local.get $1 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable + return end + local.get $0 + i32.const 0 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + i32.const 0 local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 - i32.eq + call $~lib/util/string/compareImpl i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Int32Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 + local.set $2 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $8 - i32.const 2 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 + drop i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.le_s + drop i32.const 0 - i32.const 6 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + drop + local.get $1 + i32.const 255 + i32.and + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $1 + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 + return + end local.get $2 - i32.const 0 + local.set $3 i32.const 1 - call $~lib/typedarray/Int32Array#__set + i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + i32.const 255 + i32.and + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + local.set $6 + local.get $1 + i32.const 255 + i32.and + local.set $5 + local.get $3 + local.set $4 + i32.const 0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 + ) + (func $~lib/typedarray/Uint8Array#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set + i32.load offset=4 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set + call $~lib/typedarray/Uint8Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/typedarray/Uint8ClampedArray#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer + i32.load offset=4 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3088 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int32Array#filter - local.tee $1 - i32.store offset=12 + call $~lib/typedarray/Uint8ClampedArray#get:length local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + drop local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 0 + i32.lt_s local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz if i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.const 0 i32.const 1 - call $~lib/typedarray/Int32Array#__get + i32.le_s + drop + i32.const 1 + drop + i32.const 2 i32.const 4 - i32.eq - i32.eqz + i32.le_u + drop + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 48 + i32.or + i32.store16 + i32.const 1 + local.get $2 + i32.add + return end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + local.set $3 i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + i32.const 16 + i32.shl i32.const 16 + i32.shr_s + call $~lib/util/number/decimalCount32 i32.add - global.set $~lib/memory/__stack_pointer + local.set $3 + local.get $0 + local.set $6 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 ) - (func $~lib/typedarray/Uint32Array#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer + i32.const 0 + local.set $2 + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $1 + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $1 + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 + i32.const 1 + return + end + local.get $2 + local.set $3 + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + i32.const 65535 + i32.and + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $6 local.get $1 - local.tee $2 - i32.store offset=4 + i32.const 65535 + i32.and + local.set $5 local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Uint32Array#get:length local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut local.get $3 + ) + (func $~lib/typedarray/Uint16Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 i32.load offset=4 - local.set $7 + local.get $0 + call $~lib/typedarray/Uint16Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) i32.const 0 - local.set $8 + local.set $2 + i32.const 1 + drop + local.get $1 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $11 - i32.store - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $8 - i32.const 2 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 + i32.lt_s local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 + if + i32.const 0 + local.get $1 + i32.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 + end i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + i32.le_s + drop i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $1 + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.or + i32.store16 + i32.const 1 + local.get $2 + i32.add + return + end local.get $2 - i32.const 3 + local.set $3 i32.const 4 - call $~lib/typedarray/Uint32Array#__set + i32.const 4 + i32.le_u + drop + local.get $3 + local.get $1 + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer + local.set $6 + local.get $1 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 + ) + (func $~lib/typedarray/Int32Array#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3120 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint32Array#filter - local.tee $1 - i32.store offset=12 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 0 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 0 + drop local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint32Array#get:length - i32.const 3 - i32.eq - i32.eqz + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.const 48 + i32.or + i32.store16 + i32.const 1 + return end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $3 + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $3 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + local.get $3 + ) + (func $~lib/typedarray/Uint32Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Uint32Array#get:length local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 5 - i32.eq - i32.eqz + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/decimalCount64High (param $0 i64) (result i32) + local.get $0 + i64.const 1000000000000000 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort + local.get $0 + i64.const 1000000000000 + i64.lt_u + if + i32.const 10 + local.get $0 + i64.const 100000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $0 + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $0 + i64.const 10000000000000 + i64.ge_u + i32.add + return + end + unreachable + else + local.get $0 + i64.const 100000000000000000 + i64.lt_u + if + i32.const 16 + local.get $0 + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $0 + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $0 + i64.const 1000000000000000000 + i64.ge_u + i32.add + return + end unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + unreachable ) - (func $~lib/typedarray/Int64Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i64) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Int64Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 + (local $11 i32) + (local $12 i64) + (local $13 i64) + loop $while-continue|0 + local.get $1 + i64.const 100000000 + i64.ge_u + local.set $3 + local.get $3 if + local.get $1 + i64.const 100000000 + i64.div_u + local.set $4 + local.get $1 + local.get $4 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $5 + local.get $4 + local.set $1 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $7 + local.get $6 + i32.const 100 + i32.div_u + local.set $8 + local.get $6 + i32.const 100 + i32.rem_u + local.set $9 local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load + i32.const 100 + i32.div_u + local.set $10 + local.get $7 + i32.const 100 + i32.rem_u local.set $11 + i32.const 6284 + local.get $10 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 6284 local.get $11 - local.get $9 - local.get $3 + i32.const 2 + i32.shl + i32.add + i64.load32_u local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $11 - i64.store - end + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + i32.const 6284 + local.get $8 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $12 + i32.const 6284 local.get $9 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.set $13 + local.get $2 + i32.const 4 + i32.sub + local.set $2 + local.get $0 + local.get $2 i32.const 1 + i32.shl i32.add - local.set $9 - br $for-loop|0 + local.get $12 + local.get $13 + i64.const 32 + i64.shl + i64.or + i64.store + br $while-continue|0 end end - local.get $8 - i32.const 3 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 + local.get $1 + i32.wrap_i64 local.get $2 + call $~lib/util/number/utoa32_dec_lut + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3152 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Int64Array#filter - local.tee $1 - i32.store offset=12 + drop local.get $1 + i64.const 0 + i64.lt_s local.set $2 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable + i64.const 0 + local.get $1 + i64.sub + local.set $1 + local.get $0 + i32.const 45 + i32.store16 end + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int64Array#get:length - i32.const 3 - i32.eq - i32.eqz + i64.const 10 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 + local.get $2 + i32.add + return end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $3 + i32.const 8 + i32.const 4 + i32.le_u + drop local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.eq - i32.eqz + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if + local.get $1 + i32.wrap_i64 + local.set $4 + local.get $3 + local.get $4 + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 + local.get $0 + local.set $7 + local.get $4 + local.set $6 + local.get $3 + local.set $5 i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.eq - i32.eqz - if + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut + else + local.get $3 + local.get $1 + call $~lib/util/number/decimalCount64High + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + local.set $8 + local.get $3 + local.set $5 i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $8 + local.get $5 + call $~lib/util/number/utoa64_dec_lut end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Uint64Array#filter (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + call $~lib/util/string/joinIntegerArray + ) + (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i64) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Uint64Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl + (local $8 i64) i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 + local.set $2 i32.const 0 - local.set $8 + drop i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 3 - i32.shl - i32.add - local.get $11 - i64.store - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $8 - i32.const 3 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 + i32.const 1 + i32.le_s + drop i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3184 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Uint64Array#filter - local.tee $1 - i32.store offset=12 + drop local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz + i64.const 10 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i64.const 48 + i64.or + i64.store16 + i32.const 1 + return end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 local.get $2 - call $~lib/typedarray/Uint64Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $3 + i32.const 8 + i32.const 4 + i32.le_u + drop local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.eq - i32.eqz + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if + local.get $1 + i32.wrap_i64 + local.set $4 + local.get $3 + local.get $4 + call $~lib/util/number/decimalCount32 + i32.add + local.set $3 + local.get $0 + local.set $7 + local.get $4 + local.set $6 + local.get $3 + local.set $5 i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.eq - i32.eqz - if + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut + else + local.get $3 + local.get $1 + call $~lib/util/number/decimalCount64High + i32.add + local.set $3 + local.get $0 + local.set $6 + local.get $1 + local.set $8 + local.get $3 + local.set $5 i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $8 + local.get $5 + call $~lib/util/number/utoa64_dec_lut end + local.get $3 + ) + (func $~lib/typedarray/Uint64Array#join (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $0 + call $~lib/typedarray/Uint64Array#get:length local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/util/string/joinIntegerArray ) - (func $~lib/typedarray/Float32Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/util/number/genDigits (param $0 i32) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (param $5 i64) (param $6 i32) (result i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) + (local $8 i64) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Float32Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i64) i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 + local.get $4 + i32.sub local.set $7 - i32.const 0 + i64.const 1 + local.get $7 + i64.extend_i32_s + i64.shl local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - if - local.get $6 - local.get $8 - local.tee $12 - i32.const 1 - i32.add - local.set $8 - local.get $12 - i32.const 2 - i32.shl - i32.add - local.get $11 - f32.store - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end local.get $8 - i32.const 2 - i32.shl + i64.const 1 + i64.sub local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew + local.get $3 + local.get $1 + i64.sub local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 + local.get $3 + local.get $7 + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.set $11 + local.get $3 local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 + i64.and + local.set $12 + local.get $11 + call $~lib/util/number/decimalCount32 local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3216 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Float32Array#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if + local.get $6 + local.set $14 + loop $while-continue|0 + local.get $13 i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Float32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.gt_s + local.set $15 + local.get $15 + if + block $break|1 + block $case10|1 + block $case9|1 + block $case8|1 + block $case7|1 + block $case6|1 + block $case5|1 + block $case4|1 + block $case3|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $13 + local.set $17 + local.get $17 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $17 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $17 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $17 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $17 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $17 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $17 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $17 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $17 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $17 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $11 + i32.const 1000000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100000 + i32.div_u + local.set $16 + local.get $11 + i32.const 100000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10000 + i32.div_u + local.set $16 + local.get $11 + i32.const 10000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 1000 + i32.div_u + local.set $16 + local.get $11 + i32.const 1000 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 100 + i32.div_u + local.set $16 + local.get $11 + i32.const 100 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + i32.const 10 + i32.div_u + local.set $16 + local.get $11 + i32.const 10 + i32.rem_u + local.set $11 + br $break|1 + end + local.get $11 + local.set $16 + i32.const 0 + local.set $11 + br $break|1 + end + i32.const 0 + local.set $16 + br $break|1 + end + local.get $16 + local.get $14 + i32.or + if + local.get $0 + local.get $14 + local.tee $17 + i32.const 1 + i32.add + local.set $14 + local.get $17 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $16 + i32.const 65535 + i32.and + i32.add + i32.store16 + end + local.get $13 + i32.const 1 + i32.sub + local.set $13 + local.get $11 + i64.extend_i32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.get $12 + i64.add + local.set $18 + local.get $18 + local.get $5 + i64.le_u + if + global.get $~lib/util/number/_K + local.get $13 + i32.add + global.set $~lib/util/number/_K + local.get $0 + local.set $23 + local.get $14 + local.set $17 + local.get $5 + local.set $22 + local.get $18 + local.set $21 + i32.const 9008 + local.get $13 + i32.const 2 + i32.shl + i32.add + i64.load32_u + local.get $7 + i64.extend_i32_s + i64.shl + local.set $20 + local.get $10 + local.set $19 + local.get $23 + local.get $17 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $24 + local.get $24 + i32.load16_u + local.set $25 + loop $while-continue|3 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $22 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $26 + local.get $26 + if + local.get $25 + i32.const 1 + i32.sub + local.set $25 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|3 + end + end + local.get $24 + local.get $25 + i32.store16 + local.get $14 + return + end + br $while-continue|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#filter (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=8 - local.get $13 - call $~lib/typedarray/Float64Array#get:length - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store offset=12 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 3 - i32.shl - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store offset=16 - local.get $3 - i32.load offset=4 - local.set $7 - i32.const 0 - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $4 - i32.lt_s - local.set $10 - local.get $10 + loop $while-continue|4 + i32.const 1 + local.set $15 + local.get $15 if + local.get $12 + i64.const 10 + i64.mul + local.set $12 + local.get $5 + i64.const 10 + i64.mul + local.set $5 + local.get $12 local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $11 - local.get $9 - local.get $3 - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store offset=20 - local.get $13 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) + i64.extend_i32_s + i64.shr_u + local.set $22 + local.get $22 + local.get $14 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne if - local.get $6 - local.get $8 - local.tee $12 + local.get $0 + local.get $14 + local.tee $25 i32.const 1 i32.add - local.set $8 - local.get $12 - i32.const 3 + local.set $14 + local.get $25 + i32.const 1 i32.shl i32.add - local.get $11 - f64.store + i32.const 48 + local.get $22 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.add + i32.store16 end + local.get $12 local.get $9 + i64.and + local.set $12 + local.get $13 i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $8 - i32.const 3 - i32.shl - local.set $9 - local.get $6 - local.get $9 - call $~lib/rt/itcms/__renew - local.set $10 - local.get $5 - local.get $10 - i32.store - local.get $5 - local.get $10 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $5 - local.get $9 - i32.store offset=8 - local.get $5 - local.get $10 - i32.store offset=4 - local.get $5 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 5 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 3248 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=8 - local.get $2 - call $~lib/typedarray/Float64Array#filter - local.tee $1 - i32.store offset=12 - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Float64Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.sub + local.set $13 + local.get $12 + local.get $5 + i64.lt_u + if + global.get $~lib/util/number/_K + local.get $13 + i32.add + global.set $~lib/util/number/_K + local.get $10 + i32.const 9008 + i32.const 0 + local.get $13 + i32.sub + i32.const 2 + i32.shl + i32.add + i64.load32_u + i64.mul + local.set $10 + local.get $0 + local.set $17 + local.get $14 + local.set $26 + local.get $5 + local.set $27 + local.get $12 + local.set $21 + local.get $8 + local.set $20 + local.get $10 + local.set $19 + local.get $17 + local.get $26 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $25 + local.get $25 + i32.load16_u + local.set $24 + loop $while-continue|6 + local.get $21 + local.get $19 + i64.lt_u + if (result i32) + local.get $27 + local.get $21 + i64.sub + local.get $20 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $19 + local.get $21 + i64.sub + local.get $21 + local.get $20 + i64.add + local.get $19 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + local.set $23 + local.get $23 + if + local.get $24 + i32.const 1 + i32.sub + local.set $24 + local.get $21 + local.get $20 + i64.add + local.set $21 + br $while-continue|6 + end + end + local.get $25 + local.get $24 + i32.store16 + local.get $14 + return + end + br $while-continue|4 + end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer + unreachable ) - (func $~lib/typedarray/Int8Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $2 + i32.eqz + if local.get $0 - local.tee $3 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $2 - i32.store offset=4 + i32.const 2 + i32.add + return + end + local.get $1 + local.get $2 + i32.add + local.set $3 + local.get $1 + local.get $3 + i32.le_s + if (result i32) local.get $3 - i32.load offset=4 - local.set $4 + i32.const 21 + i32.le_s + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - local.set $6 + end + if + local.get $1 + local.set $4 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $4 + local.get $3 i32.lt_s - local.set $7 - local.get $7 + local.set $5 + local.get $5 if + local.get $0 local.get $4 - local.get $5 - i32.const 0 + i32.const 1 i32.shl i32.add - i32.load8_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $5 + i32.const 48 + i32.store16 + local.get $4 i32.const 1 i32.add - local.set $5 + local.set $4 br $for-loop|0 end end + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store + local.get $3 + i32.const 2 + i32.add + return + else + local.get $3 i32.const 0 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3280 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int8Array#some - local.set $1 - local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3312 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int8Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 + i32.gt_s + if (result i32) + local.get $3 + i32.const 21 + i32.le_s + else + i32.const 0 + end + if + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $4 + local.get $4 + i32.const 2 + i32.add + local.get $4 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.store16 + local.get $1 + i32.const 1 + i32.add + return + else + i32.const -6 + local.get $3 i32.lt_s - local.set $7 - local.get $7 + if (result i32) + local.get $3 + i32.const 0 + i32.le_s + else + i32.const 0 + end if + i32.const 2 + local.get $3 + i32.sub + local.set $4 + local.get $0 local.get $4 - local.get $5 - i32.const 0 + i32.const 1 i32.shl i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) + local.get $0 + local.get $1 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $0 + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store + i32.const 2 + local.set $5 + loop $for-loop|1 + local.get $5 + local.get $4 + i32.lt_s + local.set $6 + local.get $6 + if + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|1 + end + end + local.get $1 + local.get $4 + i32.add + return + else + local.get $1 + i32.const 1 + i32.eq if + local.get $0 + i32.const 101 + i32.store16 offset=2 + local.get $0 + i32.const 4 + i32.add + local.set $5 + local.get $3 i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.sub + local.set $6 + local.get $6 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $6 + i32.sub + local.set $6 + end + local.get $6 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $7 + local.get $5 + local.set $10 + local.get $6 + local.set $9 + local.get $7 + local.set $8 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $10 + local.get $9 + local.get $8 + call $~lib/util/number/utoa32_dec_lut + local.get $5 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $7 + local.set $1 + local.get $1 + i32.const 2 + i32.add + return + else + local.get $1 + i32.const 1 + i32.shl + local.set $7 + local.get $0 + i32.const 4 + i32.add + local.get $0 + i32.const 2 + i32.add + local.get $7 + i32.const 2 + i32.sub + call $~lib/memory/memory.copy + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + local.get $7 + i32.add + i32.const 101 + i32.store16 offset=2 + local.get $1 + local.get $0 + local.get $7 + i32.add + i32.const 4 + i32.add + local.set $9 + local.get $3 + i32.const 1 + i32.sub + local.set $8 + local.get $8 + i32.const 0 + i32.lt_s + local.set $4 + local.get $4 + if + i32.const 0 + local.get $8 + i32.sub + local.set $8 + end + local.get $8 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $5 + local.get $9 + local.set $11 + local.get $8 + local.set $6 + local.get $5 + local.set $10 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $11 + local.get $6 + local.get $10 + call $~lib/util/number/utoa32_dec_lut + local.get $9 + i32.const 45 + i32.const 43 + local.get $4 + select + i32.store16 + local.get $5 + i32.add + local.set $1 + local.get $1 + i32.const 2 + i32.add + return end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + unreachable end + unreachable end - i32.const 0 + unreachable end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + unreachable ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) (local $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3344 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint8Array#some - local.set $1 + (local $4 i32) + (local $5 f64) + (local $6 i64) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i64) + (local $12 i64) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 f64) + (local $17 i64) + (local $18 i64) + (local $19 i64) + (local $20 i64) + (local $21 i64) + (local $22 i64) + (local $23 i64) + (local $24 i64) + (local $25 i64) + (local $26 i32) + (local $27 i64) + (local $28 i32) local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3376 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint8Array#some + f64.const 0 + f64.lt local.set $2 local.get $2 - i32.eqz - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + f64.neg + local.set $1 + local.get $0 + i32.const 45 + i32.store16 end - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + local.set $5 + local.get $0 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + i64.reinterpret_f64 + local.set $6 + local.get $6 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $7 + local.get $6 + i64.const 4503599627370495 + i64.and + local.set $8 + local.get $7 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $8 + i64.add + local.set $9 + local.get $7 + i32.const 1 + local.get $7 + select + i32.const 1023 + i32.const 52 i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const 0 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 + local.set $7 + local.get $9 + local.set $11 + local.get $7 + local.set $10 + local.get $11 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $12 + local.get $10 + i32.const 1 + i32.sub + local.set $13 + local.get $12 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $12 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $12 + local.get $13 + local.get $14 + i32.sub + local.set $13 + i32.const 1 + local.get $11 + i64.const 4503599627370496 + i64.eq i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.set $15 + local.get $12 + global.set $~lib/util/number/_frc_plus + local.get $11 + local.get $15 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $10 + local.get $15 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $10 + i32.const -61 + local.get $10 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $16 + local.get $16 + i32.trunc_f64_s + local.set $15 + local.get $15 + local.get $15 + f64.convert_i32_s + local.get $16 + f64.ne + i32.add + local.set $15 + local.get $15 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + i32.shr_s i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 + i32.add + local.set $14 + i32.const 348 + local.get $14 + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 8136 + local.get $14 + i32.const 3 + i32.shl + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + i32.const 8832 + local.get $14 + i32.const 1 + i32.shl + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + local.get $9 + i64.clz + i32.wrap_i64 + local.set $14 + local.get $9 + local.get $14 + i64.extend_i32_s + i64.shl + local.set $9 + local.get $7 + local.get $14 + i32.sub + local.set $7 + global.get $~lib/util/number/_frc_pow + local.set $12 + global.get $~lib/util/number/_exp_pow + local.set $15 + local.get $9 + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $24 + local.get $24 + i64.const 2147483647 + i64.add + local.set $24 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $24 + i64.const 32 + i64.shr_u + local.set $24 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $24 + i64.add + local.set $24 + local.get $7 + local.set $10 + local.get $15 + local.set $13 + local.get $10 + local.get $13 + i32.add + i32.const 64 + i32.add + local.set $10 + global.get $~lib/util/number/_frc_plus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $23 + local.get $11 + i64.const 4294967295 + i64.and + local.set $22 + local.get $17 + i64.const 32 + i64.shr_u + local.set $21 + local.get $11 + i64.const 32 + i64.shr_u + local.set $20 + local.get $23 + local.get $22 + i64.mul + local.set $19 + local.get $21 + local.get $22 + i64.mul + local.get $19 + i64.const 32 + i64.shr_u + i64.add + local.set $18 + local.get $23 + local.get $20 + i64.mul + local.get $18 + i64.const 4294967295 + i64.and + i64.add + local.set $25 + local.get $25 + i64.const 2147483647 + i64.add + local.set $25 + local.get $18 + i64.const 32 + i64.shr_u + local.set $18 + local.get $25 + i64.const 32 + i64.shr_u + local.set $25 + local.get $21 + local.get $20 + i64.mul + local.get $18 + i64.add + local.get $25 + i64.add + i64.const 1 + i64.sub + local.set $25 + global.get $~lib/util/number/_exp + local.set $26 + local.get $15 + local.set $13 + local.get $26 + local.get $13 + i32.add + i32.const 64 + i32.add + local.set $26 + global.get $~lib/util/number/_frc_minus + local.set $17 + local.get $12 + local.set $11 + local.get $17 + i64.const 4294967295 + i64.and + local.set $18 + local.get $11 + i64.const 4294967295 + i64.and + local.set $19 + local.get $17 + i64.const 32 + i64.shr_u + local.set $20 + local.get $11 + i64.const 32 + i64.shr_u + local.set $21 + local.get $18 + local.get $19 + i64.mul + local.set $22 + local.get $20 + local.get $19 + i64.mul + local.get $22 + i64.const 32 + i64.shr_u + i64.add + local.set $23 + local.get $18 + local.get $21 + i64.mul + local.get $23 + i64.const 4294967295 + i64.and + i64.add + local.set $27 + local.get $27 + i64.const 2147483647 + i64.add + local.set $27 + local.get $23 + i64.const 32 + i64.shr_u + local.set $23 + local.get $27 + i64.const 32 + i64.shr_u + local.set $27 + local.get $20 + local.get $21 + i64.mul + local.get $23 + i64.add + local.get $27 + i64.add + i64.const 1 + i64.add + local.set $27 + local.get $25 + local.get $27 + i64.sub + local.set $23 + local.get $4 + local.get $24 + local.get $10 + local.get $25 + local.get $26 + local.get $23 local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/util/number/genDigits + local.set $28 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3408 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $1 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $28 + local.get $2 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $28 + local.get $28 + local.get $2 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) local.get $1 - i32.const 0 - i32.ne - i32.eqz + f64.const 0 + f64.eq if - i32.const 0 - i32.const 544 - i32.const 438 + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 i32.const 3 - call $~lib/builtins/abort - unreachable + return end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3440 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $2 - local.get $2 - i32.eqz + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.eq i32.eqz if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 + local.get $1 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 + local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + return + else + local.get $1 + f64.const 0 + f64.lt + local.set $2 + local.get $2 if - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $5 - i32.const 1 + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 i32.add - local.set $5 - br $for-loop|0 + local.set $0 end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $2 + i32.add + return end - i32.const 0 + unreachable end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $0 + local.get $1 + call $~lib/util/number/dtoa_core ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store + (func $~lib/typedarray/Float32Array#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set + i32.load offset=4 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Float32Array#get:length + local.get $1 + call $~lib/util/string/joinFloatArray + ) + (func $~lib/typedarray/Float64Array#join (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set + i32.load offset=4 local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3472 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int16Array#some - local.set $1 + call $~lib/typedarray/Float64Array#get:length local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/util/string/joinFloatArray + ) + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $0 i32) (result i32) + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3504 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int16Array#some - local.set $2 + local.get $1 local.get $2 - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint8Array.wrap ) - (func $~lib/typedarray/Uint16Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if + (func $~lib/typedarray/Int8Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + unreachable end + i32.const 0 + local.set $1 end - i32.const 0 + i32.const -1 + local.set $2 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set + local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array.wrap + ) + (func $~lib/typedarray/Uint8ClampedArray.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3536 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint16Array#some - local.set $1 local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + call $~lib/typedarray/Uint8ClampedArray.wrap + ) + (func $~lib/typedarray/Int16Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3568 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint16Array#some - local.set $2 + local.get $1 local.get $2 - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Int16Array.wrap + ) + (func $~lib/typedarray/Uint16Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint16Array.wrap ) - (func $~lib/typedarray/Int32Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if + (func $~lib/typedarray/Int32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + unreachable end + i32.const 0 + local.set $1 end - i32.const 0 + i32.const -1 + local.set $2 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set + local.get $1 + local.get $2 + call $~lib/typedarray/Int32Array.wrap + ) + (func $~lib/typedarray/Uint32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set + local.get $1 + local.get $2 + call $~lib/typedarray/Uint32Array.wrap + ) + (func $~lib/typedarray/Int64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 + end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3600 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int32Array#some - local.set $1 local.get $1 - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + call $~lib/typedarray/Int64Array.wrap + ) + (func $~lib/typedarray/Uint64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 end local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3632 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Int32Array#some - local.set $2 + local.get $1 local.get $2 - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Uint64Array.wrap + ) + (func $~lib/typedarray/Float32Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + i32.const -1 + local.set $2 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float32Array.wrap ) - (func $~lib/typedarray/Uint32Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if + (func $~lib/typedarray/Float64Array.wrap@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + unreachable end + i32.const 0 + local.set $1 end - i32.const 0 + i32.const -1 + local.set $2 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array.wrap ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3664 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint32Array#some - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3696 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint32Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 0 + i32.shl + i32.add local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 + ) + (func $~lib/typedarray/Int8Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + i32.load8_s ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + i32.load offset=4 + local.get $1 i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set + i32.shl + i32.add + i32.load8_s + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set + i32.load offset=12 + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3728 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + i32.const 0 + drop local.get $3 - call $~lib/typedarray/Int64Array#some - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3760 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int64Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_s + else + i32.const 0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3792 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint64Array#some - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3824 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length local.get $3 - call $~lib/typedarray/Uint64Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Float32Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + (local $9 i32) + (local $10 i32) + (local $11 f64) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_s + else + i32.const 0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3856 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Float32Array#some - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3888 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length local.get $3 - call $~lib/typedarray/Float32Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Float64Array#some (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 end + i32.eqz + else i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3920 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Float64Array#some - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3952 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Float64Array#some - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int8Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const -1 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 3984 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int8Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4016 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int8Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 end - i32.const -1 + i32.eqz + else + i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + drop + local.get $5 + i32.load offset=4 + local.get $3 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set + i32.load offset=12 + ) + (func $~lib/typedarray/Uint8Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set + i32.load offset=4 + local.get $1 + i32.const 0 + i32.shl + i32.add + i32.load8_u + ) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4048 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + i32.const 0 + drop local.get $3 - call $~lib/typedarray/Uint8Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4080 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint8Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - local.get $4 - local.get $5 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_u + else i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4112 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4144 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 0 + i32.shl + i32.add local.get $7 - if - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4176 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int16Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4208 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int16Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_u + else + i32.const 0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4240 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint16Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4272 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length local.get $3 - call $~lib/typedarray/Uint16Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int32Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 0 + i32.shl + i32.add local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4304 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int32Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4336 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Uint32Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const -1 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store + (local $9 i32) + (local $10 i32) + (local $11 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer + drop local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4368 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Uint32Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4400 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $11 + i32.sub + i32.const 31 + i32.shr_s + local.get $11 + i32.or + i32.and + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Int64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.add + i32.load8_u + ) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + (local $9 i32) + (local $10 i32) + (local $11 f32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 1 + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $11 + f32.min + f32.max + i32.trunc_f32_u + else + i32.const 0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i64) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4432 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4464 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length local.get $3 - call $~lib/typedarray/Int64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $11 + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.wrap_i64 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i64.extend_i32_s + i32.const 255 + local.get $11 + i32.wrap_i64 + i32.sub + i32.const 31 + i32.shr_s + i64.extend_i32_s + local.get $11 + i64.or + i64.and + i64.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4496 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 1 + drop local.get $7 - if - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + f64.const 0 + f64.const 255 + local.get $11 + f64.min + f64.max + i32.trunc_f64_u + else + i32.const 0 end + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer + drop local.get $3 - i32.store offset=4 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Uint8Array#get:length local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4560 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Float32Array#findIndex - local.set $1 - local.get $1 i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4592 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Float32Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Float64Array#findIndex (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - if - local.get $5 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const -1 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store + (local $9 i32) + (local $10 i32) + (local $11 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4624 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Float64Array#findIndex - local.set $1 - local.get $1 - i32.const 1 - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4656 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length local.get $3 - call $~lib/typedarray/Float64Array#findIndex - local.set $2 - local.get $2 - i32.const -1 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop + local.get $7 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $11 + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $11 + i32.sub + i32.const 31 + i32.shr_s + local.get $11 + i32.or + i32.and + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Int8Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const 1 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store + (local $9 i32) + (local $10 i32) + (local $11 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4688 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int8Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4720 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int8Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 0 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $11 + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $11 + i32.sub + i32.const 31 + i32.shr_s + local.get $11 + i32.or + i32.and + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Uint8Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 2 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set + i32.load offset=12 + ) + (func $~lib/typedarray/Int16Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + i32.load offset=4 + local.get $1 i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set + i32.shl + i32.add + i32.load16_s + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + ) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4752 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + i32.const 0 + drop local.get $3 - call $~lib/typedarray/Uint8Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4784 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint8Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Uint8ClampedArray#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - i32.const 1 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4816 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4848 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length local.get $3 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 3 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4880 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int16Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4912 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int16Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + i32.const 3 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_s + else + i32.const 0 end + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4944 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint16Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 4976 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length local.get $3 - call $~lib/typedarray/Uint16Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5008 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int32Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5040 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length local.get $3 - call $~lib/typedarray/Int32Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 1 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 - local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 end - i32.const 1 + i32.eqz + else + i32.const 0 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5072 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Uint32Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5104 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint32Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5136 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Int64Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5168 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Int64Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store + (func $~lib/array/Array#get:length (param $0 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + i32.load offset=12 + ) + (func $~lib/typedarray/Uint16Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 + i32.load offset=4 + local.get $1 i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set + i32.shl + i32.add + i32.load16_u + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set + i32.load offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + ) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5200 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + i32.const 0 + drop local.get $3 - call $~lib/typedarray/Uint64Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5232 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Uint64Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + i32.const 2 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 - local.get $6 - i32.lt_s - local.set $7 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_u + else + i32.const 0 end + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5264 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Float32Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/typedarray/Int64Array#get:length local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5296 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 - local.get $3 - call $~lib/typedarray/Float32Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 - local.set $4 + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 3 + i32.eq + else i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - call $~lib/typedarray/Float64Array#get:length - local.set $6 - loop $for-loop|0 - local.get $5 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 - i32.lt_s - local.set $7 + local.get $9 + i32.const 1 + i32.shl + i32.add local.get $7 - if - block $for-continue|0 - local.get $4 - local.get $5 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_i32) - if - br $for-continue|0 - end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + i64.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const 1 end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5328 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + drop local.get $3 - call $~lib/typedarray/Float64Array#every - local.set $1 - local.get $1 i32.const 0 - i32.ne - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 5360 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=8 + local.get $4 + call $~lib/array/Array#get:length local.get $3 - call $~lib/typedarray/Float64Array#every - local.set $2 - local.get $2 - i32.eqz - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer + i32.const 1 i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - local.get $3 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + i32.const 3 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if + if (result i32) i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount + drop + local.get $5 + i32.load offset=4 + local.get $3 i32.const 1 + i32.shl i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + local.set $6 + local.get $4 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - local.set $6 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 3 i32.shl i32.add - i32.load8_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + f64.load + local.set $11 + local.get $6 + local.get $9 i32.const 1 + i32.shl i32.add - local.set $5 + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5472 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Int8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 - i32.store - local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 - i32.const 255 - i32.and + call $~lib/typedarray/Uint8Array#get:length local.get $3 - i32.const 255 - i32.and - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount + drop + local.get $5 + i32.load offset=4 + local.get $3 i32.const 1 + i32.shl i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + local.set $6 + local.get $4 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 + local.set $7 + local.get $4 call $~lib/typedarray/Uint8Array#get:length - local.set $6 + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $9 i32.const 0 i32.shl i32.add i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + i32.store16 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5504 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Uint8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 - i32.const 255 - i32.and + call $~lib/typedarray/Int16Array#get:length local.get $3 - i32.const 255 - i32.and - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + i32.const 1 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount + drop + local.get $5 + i32.load offset=4 + local.get $3 i32.const 1 + i32.shl i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.set $5 + drop local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 1 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 1 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 1 i32.shl i32.add - i32.load8_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + i32.store16 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 i32.const 1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.eq + if (result i32) + i32.const 2 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + i32.shl + i32.add + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy + ) + (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 local.get $1 i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i32.shl + i32.add + i32.load + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5536 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 + i32.load offset=4 local.get $1 - call $~lib/typedarray/Uint8ClampedArray#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.load ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store - local.get $4 + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) + local.get $0 + local.set $5 local.get $1 - call $~lib/array/Array#__get + local.set $4 + local.get $2 local.set $3 - local.get $0 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s + i32.const 0 + drop local.get $3 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.eq - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 2 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_s + else + i32.const 0 + end + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Int16Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.set $5 + drop local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int16Array#get:length + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 - i32.const 1 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 i32.shl i32.add - i32.load16_s - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 + local.get $7 + local.get $9 i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + i32.shl + i32.add + i64.load + i64.store32 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5568 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Int16Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 - i32.const 65535 - i32.and + call $~lib/array/Array#get:length local.get $3 - i32.const 65535 - i32.and - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 3 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + drop + local.get $5 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint16Array#get:length + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 3 i32.shl i32.add - i32.load16_u - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_s + else + i32.const 0 + end + i32.store + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5600 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Uint16Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/typedarray/Uint8Array#get:length local.get $3 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + drop + local.get $5 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int32Array#get:length + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 i32.const 2 i32.shl i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + i32.store + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5632 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Int32Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/typedarray/Int16Array#get:length local.get $3 - i32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 1 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_s + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Uint32Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.set $5 + drop local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint32Array#get:length + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 i32.const 2 i32.shl i32.add - i32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i32_i32_i32_=>_none) - local.get $5 + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_s + i32.store + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5664 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Uint32Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/array/Array#get:length local.get $3 - i64.extend_i32_s - i64.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 2 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/typedarray/Uint32Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + i32.load ) - (func $~lib/typedarray/Int64Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + ) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.set $5 + drop local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Int64Array#get:length + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 2 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 - i32.const 3 + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 2 i32.shl i32.add - i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_none) - local.get $5 + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $11 + i32.trunc_f32_u + else + i32.const 0 + end + i32.store + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5696 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Int64Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/typedarray/Int64Array#get:length local.get $3 - i64.extend_i32_s - i64.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 3 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + drop + local.get $5 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Uint64Array#get:length + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $9 i32.const 3 i32.shl i32.add i64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $i64_i32_i32_=>_none) - local.get $5 + i64.store32 + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5728 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Uint64Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 - i32.store - local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/array/Array#get:length local.get $3 - f32.convert_i32_s - f32.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 3 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 + local.set $6 + local.get $4 i32.load offset=4 - local.set $4 - i32.const 0 - local.set $5 - local.get $3 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Float32Array#get:length - local.set $6 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $11 + local.get $6 + local.get $9 i32.const 2 i32.shl i32.add - f32.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f32_i32_i32_=>_none) - local.get $5 + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $11 + i32.trunc_f64_u + else + i32.const 0 + end + i32.store + local.get $9 i32.const 1 i32.add - local.set $5 + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5760 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Float32Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer local.get $4 - i32.store - local.get $4 - local.get $1 - call $~lib/array/Array#__get - local.set $3 - local.get $0 + call $~lib/typedarray/Uint8Array#get:length local.get $3 - f64.convert_i32_s - f64.eq - i32.eqz + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 513 - i32.const 5 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $1 - global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 514 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachSelf - local.get $2 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 515 - i32.const 5 - call $~lib/builtins/abort - unreachable end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Float64Array#forEach (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $9 i32) + (local $10 i32) local.get $0 - local.tee $3 - i32.store - global.get $~lib/memory/__stack_pointer + local.set $5 local.get $1 - local.tee $2 - i32.store offset=4 - local.get $3 - i32.load offset=4 local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.set $5 + drop local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $~lib/typedarray/Float64Array#get:length + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $5 - local.get $6 + local.get $9 + local.get $8 i32.lt_s - local.set $7 - local.get $7 + local.set $10 + local.get $10 if - local.get $4 - local.get $5 - i32.const 3 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 i32.shl i32.add - f64.load - local.get $5 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=12 - local.get $8 - i32.const 3 - global.set $~argumentsLength - local.get $2 - i32.load - call_indirect (type $f64_i32_i32_=>_none) - local.get $5 + local.get $7 + local.get $9 i32.const 1 + i32.shl i32.add - local.set $5 + i32.load16_s + i32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store - local.get $0 - global.set $std/typedarray/forEachSelf + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 + drop + local.get $3 i32.const 0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 i32.const 1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 5792 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/typedarray/Float64Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 i32.eq - i32.eqz - if + if (result i32) + i32.const 2 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int8Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 + local.get $7 + local.get $9 i32.const 0 i32.shl i32.add - local.set $7 - local.get $6 - i32.load8_s - local.set $8 - local.get $6 - local.get $7 i32.load8_s - i32.store8 - local.get $7 - local.get $8 - i32.store8 - local.get $3 + i32.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Int8Array#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int8Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Int8Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int8Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int8Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Int8Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint8Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $2 - local.get $4 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $7 - local.get $6 - i32.load8_u - local.set $8 - local.get $6 - local.get $7 - i32.load8_u - i32.store8 local.get $7 - local.get $8 - i32.store8 - local.get $3 - i32.const 1 + local.get $9 + i32.const 2 + i32.shl i32.add - local.set $3 - local.get $4 + i64.load32_s + i64.store + local.get $9 i32.const 1 - i32.sub - local.set $4 + i32.add + local.set $9 br $for-loop|0 end end + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/typedarray/Int64Array#__uget (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + i64.load ) - (func $~lib/typedarray/Uint8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34059,471 +29405,331 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) + (local $11 f32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint8Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 + i32.const 3 + i32.const 2 + i32.eq + else i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 local.get $8 - local.get $7 i32.lt_s - select + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $11 + i64.trunc_f32_s + else + i64.const 0 + end + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end end + ) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.set $5 + local.get $1 local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop local.get $3 i32.const 0 i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 + i32.const 3 + i32.const 3 + i32.eq + else i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.store offset=4 - local.get $7 local.get $3 - local.get $4 - i32.sub - i32.const 0 + i32.const 3 i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f64) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint8Array#reverse + local.set $3 + i32.const 0 drop + local.get $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Uint8Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint8Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint8Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 6 + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 3 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 0 + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $7 - local.get $6 - i32.load8_u - local.set $8 - local.get $6 - local.get $7 - i32.load8_u - i32.store8 - local.get $7 - local.get $8 - i32.store8 - local.get $3 + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $11 + i64.trunc_f64_s + else + i64.const 0 + end + i64.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -34531,471 +29737,249 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 + i32.const 3 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + i32.eq else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 0 + local.get $3 + i32.const 3 i32.shl i32.add - i32.store offset=4 - local.get $7 - local.get $3 + local.set $6 local.get $4 - i32.sub + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 i32.const 0 - i32.shl - i32.store offset=8 - local.get $7 local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i64.load8_u + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint8ClampedArray#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint8ClampedArray#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 - i32.const 1 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 + local.get $7 + local.get $9 i32.const 1 i32.shl i32.add - local.set $7 - local.get $6 - i32.load16_s - local.set $8 - local.get $6 - local.get $7 - i32.load16_s - i32.store16 - local.get $7 - local.get $8 - i32.store16 - local.get $3 + i64.load16_s + i64.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35003,477 +29987,271 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int16Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 + i32.const 3 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + i32.eq else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 1 + local.get $3 + i32.const 3 i32.shl i32.add - i32.store offset=4 - local.get $7 - local.get $3 + local.set $6 local.get $4 - i32.sub - i32.const 1 - i32.shl - i32.store offset=8 - local.get $7 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 - local.set $4 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 16 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.add local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 16 + local.get $9 + i32.const 0 i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $4 + i32.add + i64.load8_s + i64.store + local.get $9 i32.const 1 i32.add - local.set $4 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int16Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Int16Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int16Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint16Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 - i32.const 1 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 1 + local.get $7 + local.get $9 + i32.const 2 i32.shl i32.add - local.set $7 - local.get $6 - i32.load16_u - local.set $8 - local.get $6 - local.get $7 - i32.load16_u - i32.store16 - local.get $7 - local.get $8 - i32.store16 - local.get $3 + i64.load32_s + i64.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + local.get $0 + i32.load offset=12 + ) + (func $~lib/typedarray/Uint64Array#__uget (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + i64.load ) - (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result i64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load + ) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35481,388 +30259,201 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) + (local $11 f32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint16Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable end - local.set $4 + local.get $4 + call $~lib/array/Array#get:length local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 i32.const 0 - i32.lt_s + i32.eq if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 + i32.const 3 + i32.const 2 + i32.eq + else i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.store offset=4 - local.get $7 local.get $3 - local.get $4 - i32.sub - i32.const 1 + i32.const 3 i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store - local.get $0 + local.set $6 + local.get $4 + i32.load offset=4 local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint16Array#constructor - local.tee $3 - i32.store offset=12 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $4 + local.set $9 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $7 - local.get $4 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $11 + i64.trunc_f32_u + else + i64.const 0 + end + i64.store + local.get $9 i32.const 1 i32.add - local.set $4 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint16Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Uint16Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.const 65535 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint16Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint16Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 3 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Int32Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -35870,415 +30461,254 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (local $10 i32) + (local $11 f64) local.get $0 - local.tee $1 - i32.store + local.set $5 local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 3 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 i32.load offset=4 - local.set $2 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 - i32.const 2 + i32.const 0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $7 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 2 + f64.load + local.set $11 + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $7 - local.get $6 - i32.load - local.set $8 - local.get $6 - local.get $7 - i32.load - i32.store - local.get $7 - local.get $8 - i32.store - local.get $3 + local.get $11 + local.get $11 + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $11 + i64.trunc_f64_u + else + i64.const 0 + end + i64.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=12 - i32.const 0 local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end - end local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int32Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Int32Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int32Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int32Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Int32Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 - i32.const 2 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 2 + local.get $7 + local.get $9 + i32.const 0 i32.shl i32.add - local.set $7 - local.get $6 - i32.load - local.set $8 - local.get $6 - local.get $7 - i32.load - i32.store - local.get $7 - local.get $8 - i32.store - local.get $3 + i64.load8_u + i64.store + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -36286,465 +30716,249 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint32Array#get:length - local.set $6 - local.get $4 i32.const 0 - i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select - end - local.set $4 + drop local.get $3 i32.const 0 i32.lt_s - if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable end - local.set $3 - local.get $3 - local.tee $7 local.get $4 - local.tee $8 - local.get $7 - local.get $8 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 1 + i32.eq + if (result i32) + i32.const 3 + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 local.get $3 - local.get $4 - i32.sub - i32.const 2 + i32.const 3 i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store - local.get $0 + local.set $6 + local.get $4 + i32.load offset=4 local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 - i32.store offset=12 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 i32.const 0 - local.set $4 + local.set $9 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add local.get $7 - local.get $4 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $4 + local.get $9 i32.const 1 + i32.shl i32.add - local.set $4 + i64.load16_s + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint32Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Uint32Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint32Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint32Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 8 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 7 - i32.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 6 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint32Array#__get - i32.const 5 - i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int64Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + i32.const 0 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 3 + local.get $7 + local.get $9 + i32.const 0 i32.shl i32.add - local.set $7 - local.get $6 - i64.load - local.set $8 - local.get $6 - local.get $7 - i64.load - i64.store - local.get $7 - local.get $8 + i64.load8_s i64.store - local.get $3 + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -36752,468 +30966,341 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Int64Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable end - local.set $4 + local.get $4 + call $~lib/array/Array#get:length local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.lt_s + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 + i32.const 2 + i32.const 2 + i32.eq + else i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store offset=4 - local.get $7 local.get $3 - local.get $4 - i32.sub - i32.const 3 + i32.const 2 i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store - local.get $0 + local.set $6 + local.get $4 + i32.load offset=4 local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 + local.get $4 call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store offset=12 + local.set $8 i32.const 0 - local.set $4 + local.set $9 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add local.get $7 - local.get $4 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + f32.convert_i32_s + f32.store + local.get $9 i32.const 1 i32.add - local.set $4 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Float32Array#__uget (param $0 i32) (param $1 i32) (result f32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result f32) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load + ) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int64Array#reverse - drop + local.set $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Int64Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Int64Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Int64Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 8 - i64.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 7 - i64.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.eq - i32.eqz - if + i32.const 0 + i32.const 0 + i32.eq + if (result i32) + i32.const 2 + i32.const 2 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer + local.get $4 + i32.load offset=4 + local.get $4 + i32.load offset=8 + call $~lib/memory/memory.copy ) - (func $~lib/typedarray/Uint64Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) + (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $1 - i32.store - local.get $1 - i32.load offset=4 - local.set $2 - i32.const 0 - local.set $3 + local.set $5 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint64Array#get:length - i32.const 1 - i32.sub local.set $4 - loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 - if - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $6 - i64.load - local.set $8 - local.get $6 - local.get $7 - i64.load - i64.store - local.get $7 - local.get $8 - i64.store - local.get $3 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 3 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl i32.add - local.set $3 - local.get $4 + local.get $7 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + f32.convert_i64_s + f32.store + local.get $9 i32.const 1 - i32.sub - local.set $4 + i32.add + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37221,468 +31308,377 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Uint64Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 + i32.const 2 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + i32.eq else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $4 - local.get $3 - i32.const 0 - i32.lt_s if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 3 + local.get $3 + i32.const 2 i32.shl i32.add - i32.store offset=4 - local.get $7 - local.get $3 + local.set $6 local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store offset=8 - local.get $7 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 + i32.const 0 local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + f32.convert_i32_u + f32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.get $1 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store offset=12 + drop + local.get $3 i32.const 0 - local.set $4 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 1 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 2 + i32.shl + i32.add local.get $7 - local.get $4 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $4 + local.get $9 i32.const 1 + i32.shl i32.add - local.set $4 + i32.load16_s + f32.convert_i32_s + f32.store + local.get $9 + i32.const 1 + i32.add + local.set $9 br $for-loop|0 end end - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint64Array#reverse - drop - i32.const 0 + ) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Uint64Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 - i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer + local.get $2 + local.set $3 + i32.const 0 + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint64Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Uint64Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 8 - i64.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 7 - i64.eq - i32.eqz + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.eq - i32.eqz - if + i32.const 0 + i32.const 1 + i32.eq + if (result i32) + i32.const 2 + i32.const 0 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 554 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Float32Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 i32.const 2 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 - i32.const 2 + local.get $7 + local.get $9 + i32.const 0 i32.shl i32.add - local.set $7 - local.get $6 - f32.load - local.set $8 - local.get $6 - local.get $7 - f32.load - f32.store - local.get $7 - local.get $8 + i32.load8_s + f32.convert_i32_s f32.store - local.get $3 + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -37690,827 +31686,647 @@ (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + (local $10 i32) local.get $0 - local.tee $5 - i32.store + local.set $5 local.get $1 local.set $4 local.get $2 local.set $3 - local.get $5 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Float32Array#get:length - local.set $6 - local.get $4 + i32.const 0 + drop + local.get $3 i32.const 0 i32.lt_s - if (result i32) - local.get $6 - local.get $4 - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $4 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable end - local.set $4 + local.get $4 + call $~lib/array/Array#get:length local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.lt_s + i32.const 1 + i32.eq if (result i32) - local.get $6 - local.get $3 - i32.add - local.tee $7 + i32.const 3 + i32.const 2 + i32.eq + else i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz else - local.get $3 - local.tee $8 - local.get $6 - local.tee $7 - local.get $8 - local.get $7 - i32.lt_s - select + i32.const 0 end - local.set $3 - local.get $3 - local.tee $7 - local.get $4 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=8 - local.get $5 - i32.load - local.set $8 - local.get $7 - local.get $8 - i32.store - local.get $7 - local.get $8 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $7 + drop local.get $5 i32.load offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store offset=4 - local.get $7 local.get $3 - local.get $4 - i32.sub - i32.const 2 + i32.const 3 i32.shl - i32.store offset=8 - local.get $7 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store - local.get $0 + local.set $6 + local.get $4 + i32.load offset=4 local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 + local.get $4 call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store offset=12 + local.set $8 i32.const 0 - local.set $4 + local.set $9 loop $for-loop|0 - local.get $4 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add local.get $7 - local.get $4 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $4 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + f64.convert_i32_s + f64.store + local.get $9 i32.const 1 i32.add - local.set $4 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Float64Array#__uget (param $0 i32) (param $1 i32) (result f64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + ) + (func $~lib/array/Array#__uget (param $0 i32) (param $1 i32) (result f64) + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load + ) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Float32Array#reverse + local.set $3 + i32.const 0 drop + local.get $3 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 0 + i32.eq + if (result i32) + i32.const 3 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Float32Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 + i32.const 0 + drop i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - f32.convert_i32_s - f32.eq - i32.eqz - if + if (result i32) + i32.const 1 + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $4 + drop i32.const 1 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 + i32.const 3 + i32.shl i32.add - local.set $4 - br $for-loop|1 + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + f64.promote_f32 + f64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float32Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Float32Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 8 - f32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 7 - f32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + i32.const 0 + i32.const 1 + i32.eq + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 3 + i32.eq + else + i32.const 0 end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.eq - i32.eqz - if + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#reverse (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $1 - i32.store - local.get $1 + local.set $6 + local.get $4 i32.load offset=4 - local.set $2 + local.set $7 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.set $8 i32.const 0 - local.set $3 - local.get $1 local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $4 loop $for-loop|0 - local.get $3 - local.get $4 - i32.lt_u - local.set $5 - local.get $5 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 if - local.get $2 - local.get $3 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop + local.get $6 + local.get $9 i32.const 3 i32.shl i32.add - local.set $6 - local.get $2 - local.get $4 + local.get $7 + local.get $9 i32.const 3 i32.shl i32.add - local.set $7 - local.get $6 - f64.load - local.set $8 - local.get $6 - local.get $7 - f64.load - f64.store - local.get $7 - local.get $8 + i64.load + f64.convert_i64_s f64.store - local.get $3 + local.get $9 i32.const 1 i32.add - local.set $3 - local.get $4 - i32.const 1 - i32.sub - local.set $4 + local.set $9 br $for-loop|0 end end - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $0 - i32.store + (local $8 i32) + (local $9 i32) + (local $10 i32) local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.set $5 local.get $1 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + local.set $4 + local.get $2 + local.set $3 i32.const 0 - local.get $1 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store offset=12 + drop + local.get $3 i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $1 - i32.lt_s - local.set $5 - local.get $5 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - local.get $4 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.eq + if (result i32) + i32.const 3 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 0 + else + i32.const 0 end + i32.eqz + else + i32.const 0 end - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Float64Array#reverse drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + local.set $8 i32.const 0 - local.set $4 - loop $for-loop|1 - local.get $4 - local.get $1 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 i32.lt_s - local.set $5 - local.get $5 + local.set $10 + local.get $10 if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $4 - call $~lib/typedarray/Float64Array#__get - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $1 + i32.const 0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop i32.const 1 - i32.sub - local.get $4 - i32.sub - call $~lib/array/Array#__get - f64.convert_i32_s - f64.eq - i32.eqz - if + if (result i32) + i32.const 0 + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 547 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $4 + drop + local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $7 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + f64.convert_i32_u + f64.store + local.get $9 i32.const 1 i32.add - local.set $4 - br $for-loop|1 + local.set $9 + br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop local.get $3 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=16 - local.get $7 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/typedarray/Float64Array#reverse - local.tee $6 - i32.store offset=20 - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 8 - f64.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 552 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 553 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 554 + i32.const 0 + i32.const 1 + i32.eq + if (result i32) i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - i32.eqz - if + i32.const 1 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int8Array#get:length - local.set $7 - local.get $7 + if (result i32) i32.const 0 - i32.eq if (result i32) i32.const 1 else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.const 0 end - local.get $6 + i32.eqz + else i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 i32.lt_s + local.set $10 + local.get $10 if - local.get $7 - local.get $6 - i32.add - local.tee $8 i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 + drop + i32.const 0 + if (result i32) + i32.const 1 + i32.eqz + else + i32.const 0 + end + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add local.get $7 - i32.lt_s - local.set $9 local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $4 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end + i32.const 1 + i32.shl + i32.add + i32.load16_s + f64.convert_i32_s + f64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $~lib/typedarray/Int8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -38519,8813 +32335,2409 @@ (local $8 i32) (local $9 i32) (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int8Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.eq + if (result i32) + i32.const 3 + i32.const 0 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 0 + if (result i32) + i32.const 1 + else + i32.const 0 end - local.get $6 + i32.eqz + else i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/array/Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 i32.lt_s + local.set $10 + local.get $10 if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 + i32.const 0 + drop + i32.const 0 + if (result i32) i32.const 1 - i32.sub - local.set $6 + i32.eqz + else + i32.const 0 end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 + drop + i32.const 1 + if (result i32) + i32.const 0 + i32.eqz + else + i32.const 0 + end + drop local.get $6 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $7 + local.get $9 i32.const 0 - i32.ge_s - local.set $9 + i32.shl + i32.add + i32.load8_s + f64.convert_i32_s + f64.store local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.get $4 - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.const -1 end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Int8Array#get:length - local.set $2 - end + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) local.get $0 + local.set $5 local.get $1 + local.set $4 local.get $2 - call $~lib/typedarray/Int8Array#lastIndexOf local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 + call $~lib/builtins/abort + unreachable + end + local.get $4 + call $~lib/typedarray/Float32Array#get:length + local.get $3 i32.add - global.set $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + if + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.eq + if (result i32) + i32.const 0 + i32.const 2 + i32.eq + else + i32.const 0 + end + if (result i32) + i32.const 1 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 + i32.shl + i32.add local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store offset=8 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Float32Array#get:length + local.set $8 i32.const 0 - local.set $3 + local.set $9 loop $for-loop|0 - local.get $3 - local.get $1 + local.get $9 + local.get $8 i32.lt_s - local.set $4 - local.get $4 + local.set $10 + local.get $10 if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 + i32.const 1 + drop + i32.const 1 + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $11 local.get $6 - local.get $3 - call $~lib/array/Array#__get - i32.const 24 + local.get $9 + i32.const 0 i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $3 + i32.add + local.get $11 + local.get $11 + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $11 + f32.min + f32.max + i32.trunc_f32_u + else + i32.const 0 + end + i32.store8 + local.get $9 i32.const 1 i32.add - local.set $3 + local.set $9 br $for-loop|0 end end + ) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 + local.set $3 i32.const 0 - call $~lib/typedarray/Int8Array#indexOf + drop + local.get $3 i32.const 0 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 + i32.const 1 + i32.const 1 i32.eq - i32.eqz - if + if (result i32) i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if + i32.const 2 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if + if (result i32) + i32.const 1 + if (result i32) + i32.const 1 + else + i32.const 0 + end + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $2 + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $11 + i32.sub + i32.const 31 + i32.shr_s + local.get $11 + i32.or + i32.and + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end end + ) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz + local.set $3 + i32.const 0 + drop + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1864 + i32.const 19 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz + local.get $4 + call $~lib/typedarray/Uint32Array#get:length + local.get $3 + i32.add + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1865 + i32.const 47 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i32.const -100 - call $~lib/typedarray/Int8Array#indexOf i32.const 1 i32.eq - i32.eqz - if + if (result i32) + i32.const 0 + i32.const 2 + i32.eq + else i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $2 + if (result i32) + i32.const 1 + if (result i32) + i32.const 0 + else + i32.const 0 + end + i32.eqz + else + i32.const 0 + end + drop + local.get $5 + i32.load offset=4 + local.get $3 + i32.const 0 + i32.shl + i32.add local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $4 + i32.load offset=4 + local.set $7 + local.get $4 + call $~lib/typedarray/Uint32Array#get:length + local.set $8 i32.const 0 - i32.const 1 - global.set $~argumentsLength + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $8 + i32.lt_s + local.set $10 + local.get $10 + if + i32.const 1 + drop + i32.const 0 + drop + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + i32.const 0 + i32.eqz + drop + local.get $6 + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.const 255 + local.tee $12 + local.get $11 + local.tee $13 + local.get $12 + local.get $13 + i32.lt_u + select + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + ) + (func $~lib/rt/itcms/__collect + (local $0 i32) i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs + drop + global.get $~lib/rt/itcms/state i32.const 0 - i32.eq - i32.eqz + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + local.set $0 + local.get $0 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if + drop + i32.const 0 + if (result i32) + i32.const 1 + else i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz + drop + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $std/typedarray/forEachValues + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz + global.get $std/typedarray/testArrayReverseValues + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz + global.get $std/typedarray/testArrayWrapValues + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz + global.get $std/typedarray/setSource1 + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz + global.get $std/typedarray/setSource2 + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int8Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz + global.get $std/typedarray/setSource3 + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int8Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz + global.get $std/typedarray/setSource7 + local.tee $1 if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int8Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint8Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $4 - i32.const 255 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 + i32.const 336 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 144 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 6704 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 7760 + local.get $0 + call $~lib/rt/itcms/__visit ) - (func $~lib/typedarray/Uint8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + i32.load + local.tee $2 + if local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint8Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $4 - i32.const 255 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 + local.get $1 + call $~lib/rt/itcms/__visit end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $~lib/typedarray/Uint8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Uint8Array#get:length - local.set $2 - end + (func $~lib/typedarray/Int8Array~visit (param $0 i32) (param $1 i32) local.get $0 local.get $1 - local.get $2 - call $~lib/typedarray/Uint8Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + call $~lib/arraybuffer/ArrayBufferView~visit ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store + (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Uint8Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint8Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Uint8Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Uint8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $4 - i32.const 255 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.get $4 - i32.const 255 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int16Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $4 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int16Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.get $4 - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Int16Array#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int16Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int16Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int16Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int16Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int16Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint16Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $4 - i32.const 65535 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint16Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.get $4 - i32.const 65535 - i32.and - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Uint16Array#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint16Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Uint16Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint16Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Uint16Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Uint16Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Int32Array#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int32Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Int32Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Int32Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int32Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Int32Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Int32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - i32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load - local.get $4 - i32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Uint32Array#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Uint32Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 10 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -100 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 3 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 2 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -10 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const -11 - call $~lib/typedarray/Uint32Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint32Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 9 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 11 - i32.const 0 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 1 - call $~lib/typedarray/Uint32Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 5 - i32.const 2 - call $~lib/typedarray/Uint32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $4 - i64.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Int64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $4 - i64.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Int64Array#get:length - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Int64Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 0 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const -1 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Int64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Int64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 4 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const 10 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -100 - call $~lib/typedarray/Int64Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 4 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const 100 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -10 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -11 - call $~lib/typedarray/Int64Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int64Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 4 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 9 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 10 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint8ClampedArray~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int16Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint16Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int32Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint32Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int64Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint64Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Float32Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Float64Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 - i32.const 1 - call $~lib/typedarray/Int64Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 - i32.const 2 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/typedarray/Uint64Array#indexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $4 - i64.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit + ) + (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit + ) + (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit + ) + (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit + ) + (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit ) - (func $~lib/typedarray/Uint64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Uint64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load - local.get $4 - i64.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Uint64Array#get:length - local.set $2 - end + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) local.get $0 local.get $1 - local.get $2 - call $~lib/typedarray/Uint64Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (param $0 i32) (param $1 i32) local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.load offset=4 local.get $1 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 0 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const -1 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 4 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const 10 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -100 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 591 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const -1 - i32.const 1 - global.set $~argumentsLength + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit (param $0 i32) (param $1 i32) + local.get $0 + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 592 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 1 - global.set $~argumentsLength + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#lastIndexOf@varargs - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 4 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 594 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 3 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 - i32.const 2 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const 100 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 597 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -10 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 1 - i32.const -11 - call $~lib/typedarray/Uint64Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 599 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint64Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 3 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 4 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 9 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 10 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 11 + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#__visit (param $0 i32) (param $1 i32) i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 - i32.const 1 - call $~lib/typedarray/Uint64Array#indexOf - i32.const 5 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i64.const 5 - i32.const 2 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer + drop + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) - (func $~lib/typedarray/Float32Array#indexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Float32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $4 - f32.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> + block $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> + block $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> + block $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> + block $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> + block $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> + block $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> + block $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> + block $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> + block $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> + block $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> + block $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> + block $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> + block $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> + block $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> + block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> + block $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> + block $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> + block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> + block $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> + block $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/function/Function<%28f64%2Cf64%29=>i32> + block $~lib/typedarray/Float64Array + block $~lib/typedarray/Float32Array + block $~lib/typedarray/Uint64Array + block $~lib/typedarray/Int64Array + block $~lib/typedarray/Uint32Array + block $~lib/typedarray/Int32Array + block $~lib/typedarray/Uint16Array + block $~lib/typedarray/Int16Array + block $~lib/typedarray/Uint8ClampedArray + block $~lib/typedarray/Uint8Array + block $~lib/typedarray/Int8Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint16Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint32Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Int64Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Uint64Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float32Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Float32Array#lastIndexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Float32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load - local.get $4 - f32.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 - end - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - ) - (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Float32Array#get:length - local.set $2 + call $~lib/array/Array~visit + return end - local.get $0 - local.get $1 - local.get $2 - call $~lib/typedarray/Float32Array#lastIndexOf - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + unreachable ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 0 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 580 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 11 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const -1 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 582 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 583 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 2 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 584 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 3 - call $~lib/typedarray/Float32Array#indexOf - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 585 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 4 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 586 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 1 - i32.const 10 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 587 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 1 - i32.const -100 - call $~lib/typedarray/Float32Array#indexOf - i32.const 1 - i32.eq - i32.eqz + (func $~start + call $start:std/typedarray + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 588 - i32.const 3 + i32.const 30560 + i32.const 30608 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 0 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 590 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1872 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f32.const 11 - i32.const 1 - global.set $~argumentsLength + local.get $2 i32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const -1 + call $~lib/typedarray/Int8Array#reduce + local.set $1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 591 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const -1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 i32.const 1 - global.set $~argumentsLength + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1904 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const -1 + call $~lib/typedarray/Uint8Array#reduce + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 592 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 1 - global.set $~argumentsLength + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 593 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1936 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 4 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 3 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#reduce + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 594 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 3 - call $~lib/typedarray/Float32Array#lastIndexOf + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 595 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1968 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 - i32.const 2 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 596 - i32.const 3 - call $~lib/builtins/abort - unreachable - end local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - f32.const 1 - i32.const 100 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 1 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#reduce + local.set $1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 597 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 1 - i32.const -10 - call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 598 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2000 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f32.const 1 - i32.const -11 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const -1 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint16Array#reduce + local.set $1 + local.get $1 + i32.const 65535 + i32.and + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 599 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Float32Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 3 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2032 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f32.const 4 + local.get $2 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 4 - i32.const 4 - i32.sub + call $~lib/typedarray/Int32Array#reduce + local.set $1 + local.get $1 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 604 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 5 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 5 - i32.const 4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2064 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f32.const 9 + local.get $2 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 + call $~lib/typedarray/Uint32Array#reduce + local.set $1 + local.get $1 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 606 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 10 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2096 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + call $~lib/typedarray/Int64Array#reduce + local.set $1 + local.get $1 + i64.const 6 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 607 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 11 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2128 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduce + local.set $1 + local.get $1 + i64.const 6 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 608 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 5 - i32.const 1 - call $~lib/typedarray/Float32Array#indexOf - i32.const 5 - i32.const 4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 f32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - i32.eq + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2160 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f32.const 0 + call $~lib/typedarray/Float32Array#reduce + local.set $1 + local.get $1 + f32.const 6 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 609 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f32.const 5 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 f64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 2 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2192 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f64.const 0 + call $~lib/typedarray/Float64Array#reduce + local.set $1 + local.get $1 + f64.const 6 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 610 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#indexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -47334,102 +34746,59 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Float64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2224 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#reduceRight + local.set $1 + local.get $1 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $4 - f64.eq - if - local.get $6 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const -1 + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $~lib/typedarray/Float64Array#lastIndexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -47438,139 +34807,118 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $3 - local.set $6 - local.get $5 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store offset=4 - local.get $10 - call $~lib/typedarray/Float64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2256 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduceRight + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.set $6 - else - local.get $6 - local.get $7 - i32.ge_s - if - local.get $7 - i32.const 1 - i32.sub - local.set $6 - end - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - i32.const 0 - i32.ge_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.get $4 - f64.eq - if - local.get $6 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|0 - end - end - i32.const -1 + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 ) - (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/typedarray/Float64Array#get:length - local.set $2 - end local.get $0 - local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2288 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - call $~lib/typedarray/Float64Array#lastIndexOf - local.set $3 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#reduceRight + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -47578,1356 +34926,1462 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + i32.const 3 + call $~lib/typedarray/Int16Array#constructor local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $1 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $3 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=12 - local.get $6 - local.get $3 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - local.get $2 - local.set $6 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2320 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f64.const 0 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf + local.get $2 i32.const 0 + call $~lib/typedarray/Int16Array#reduceRight + local.set $1 + local.get $1 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 580 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 11 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 581 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $6 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2352 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $2 i32.store offset=4 - local.get $6 - f64.const -1 + local.get $2 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + call $~lib/typedarray/Uint16Array#reduceRight + local.set $1 + local.get $1 + i32.const 65535 + i32.and + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 582 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#indexOf i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2384 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#reduceRight + local.set $1 + local.get $1 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 583 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 2 - call $~lib/typedarray/Float64Array#indexOf i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2416 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#reduceRight + local.set $1 + local.get $1 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 584 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 - i32.const 3 - call $~lib/typedarray/Float64Array#indexOf + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 3 - i32.eq + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2448 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i64.const 0 + call $~lib/typedarray/Int64Array#reduceRight + local.set $1 + local.get $1 + i64.const 6 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 585 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2480 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 - local.get $6 - f64.const 3 - i32.const 4 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.eq + local.get $2 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduceRight + local.set $1 + local.get $1 + i64.const 6 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 586 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 f32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2512 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 - local.get $6 - f64.const 1 - i32.const 10 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.eq + local.get $2 + f32.const 0 + call $~lib/typedarray/Float32Array#reduceRight + local.set $1 + local.get $1 + f32.const 6 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 587 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 f64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 f64.const 1 - i32.const -100 - call $~lib/typedarray/Float64Array#indexOf + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 1 - i32.eq + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2544 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + f64.const 0 + call $~lib/typedarray/Float64Array#reduceRight + local.set $1 + local.get $1 + f64.const 6 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 588 + i32.const 367 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 0 - i32.const 1 - global.set $~argumentsLength + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2576 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#map + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 590 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 11 + local.get $1 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const -1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 591 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const -1 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 592 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 - i32.const 1 - global.set $~argumentsLength + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2608 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint8Array#map + local.tee $1 + i32.store offset=8 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 593 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get i32.const 4 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 594 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 - i32.const 3 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const 3 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 595 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 i32.const 2 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const -1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2640 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#map + local.tee $1 + i32.store offset=8 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 596 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 1 - i32.const 100 - call $~lib/typedarray/Float64Array#lastIndexOf + local.get $1 i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 597 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 1 - i32.const -10 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const 1 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 598 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2672 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 - local.get $6 - f64.const 1 - i32.const -11 - call $~lib/typedarray/Float64Array#lastIndexOf - i32.const -1 + local.get $2 + call $~lib/typedarray/Int16Array#map + local.tee $1 + i32.store offset=8 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 599 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get i32.const 4 - i32.const 9 - call $~lib/typedarray/Float64Array#subarray - local.tee $5 - i32.store offset=16 - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 3 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 603 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 4 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 4 - i32.const 4 - i32.sub + local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 604 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2704 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 - local.get $6 - f64.const 5 + local.get $2 + call $~lib/typedarray/Uint16Array#map + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 5 - i32.const 4 - i32.sub + call $~lib/typedarray/Uint16Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 605 + i32.const 388 i32.const 3 call $~lib/builtins/abort - unreachable - end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 9 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 606 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 10 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 607 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2736 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 - local.get $6 - f64.const 11 + local.get $2 + call $~lib/typedarray/Int32Array#map + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + call $~lib/typedarray/Int32Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 608 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 5 + local.get $1 i32.const 1 - call $~lib/typedarray/Float64Array#indexOf - i32.const 5 + call $~lib/typedarray/Int32Array#__get i32.const 4 - i32.sub i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 609 + i32.const 389 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - f64.const 5 + local.get $1 i32.const 2 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + call $~lib/typedarray/Int32Array#__get + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 610 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float64Array#includes (param $0 i32) (param $1 f64) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - i32.const 1 - drop - local.get $3 - local.set $6 - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $10 - local.get $10 - local.get $4 - f64.eq - if (result i32) - i32.const 1 - else - local.get $10 - local.get $10 - f64.ne - local.get $4 - local.get $4 - f64.ne - i32.and - end - if - i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Float32Array#includes (param $0 i32) (param $1 f32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 f32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f32) - (local $11 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 - local.set $3 - i32.const 1 - drop - local.get $3 - local.set $6 - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=4 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - local.set $7 - local.get $7 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $6 - local.get $7 - i32.ge_s - end - if - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $6 - i32.const 0 - i32.lt_s - if - local.get $7 - local.get $6 - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $6 - end - local.get $5 - i32.load offset=4 - local.set $8 - loop $while-continue|0 - local.get $6 - local.get $7 - i32.lt_s - local.set $9 - local.get $9 - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $10 - local.get $10 - local.get $4 - f32.eq - if (result i32) - i32.const 1 - else - local.get $10 - local.get $10 - f32.ne - local.get $4 - local.get $4 - f32.ne - i32.and - end - if - i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $while-continue|0 - end - end - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $0 - local.set $12 + i32.const 2768 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $3 - local.get $1 - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $6 local.get $2 - local.tee $4 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint32Array#map + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - local.set $7 - local.get $6 - local.tee $4 - local.get $7 - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $8 - local.get $6 - local.tee $5 - local.get $7 - local.tee $4 - local.get $5 - local.get $4 - i32.gt_s - select + call $~lib/typedarray/Uint32Array#__get i32.const 1 - i32.shl - local.set $9 - local.get $9 - local.get $8 - i32.sub - local.set $10 - local.get $10 + i32.eq i32.eqz if - i32.const 6048 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $8 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 4 + i32.eq i32.eqz - if (result i32) - local.get $9 - local.get $3 - i32.const 1 - i32.shl - i32.eq - else + if i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 9 + i32.eq + i32.eqz if - local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store offset=4 - local.get $11 - local.get $0 - local.get $8 - i32.add - local.get $10 - call $~lib/memory/memory.copy - local.get $11 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 - i32.eqz - if - local.get $0 - i32.load8_s - local.set $4 - i32.const 1 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $2 - local.set $11 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $11 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 11 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 11 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2800 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store offset=4 + local.get $2 + call $~lib/typedarray/Int64Array#map + local.tee $1 + i32.store offset=8 + local.get $1 i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $1 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.eq + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Int8Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 2832 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 local.get $2 - call $~lib/typedarray/Int8Array#get:length + call $~lib/typedarray/Uint64Array#map + local.tee $1 + i32.store offset=8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 9 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end + f32.const 1 + call $~lib/typedarray/Float32Array#__set local.get $0 - local.set $3 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length + local.get $0 + i32.const 2864 local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 local.get $2 + call $~lib/typedarray/Float32Array#map + local.tee $1 + i32.store offset=8 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq + i32.eqz if i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.eq i32.eqz - local.set $3 + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 9 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Int8Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2896 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Float64Array#map + local.tee $1 + i32.store offset=8 + local.get $1 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=4 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/typedarray/Int8Array#join - local.set $1 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 9 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -48935,379 +36389,124 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/typedarray/Int8Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 + i32.const 5 i32.const 5 call $~lib/typedarray/Int8Array#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int8Array#join - local.set $1 + local.get $0 + i32.const 2928 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + call $~lib/typedarray/Int8Array#filter + local.tee $1 i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 413 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Int8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 414 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.eq i32.eqz if - local.get $0 - i32.load8_u - local.set $4 i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $3 - i32.const 0 - i32.shl - i32.add - i32.load8_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $1 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.eq + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/typedarray/Uint8Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint8Array#get:length - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49315,199 +36514,124 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/typedarray/Uint8Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 + i32.const 5 i32.const 5 call $~lib/typedarray/Uint8Array#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $1 + local.get $0 + i32.const 2960 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint8Array#filter + local.tee $1 + i32.store offset=8 local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=8 + call $~lib/typedarray/Uint8Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/string/String.__eq + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 416 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 417 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint8ClampedArray#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49515,379 +36639,374 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 + i32.const 5 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#join - local.set $1 + local.get $0 + i32.const 2992 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#filter + local.tee $1 i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 413 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 414 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.eq i32.eqz if - local.get $0 - i32.load16_s - local.set $4 - i32.const 1 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 11 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 11 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl + local.get $1 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 + i32.eq + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Int16Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 3024 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 local.get $2 + call $~lib/typedarray/Int16Array#filter + local.tee $1 + i32.store offset=8 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 call $~lib/typedarray/Int16Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Int16Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store local.get $0 - local.set $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 3056 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint16Array#filter + local.tee $1 + i32.store offset=8 local.get $1 - i32.store + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Uint16Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -49895,379 +37014,374 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Int16Array#constructor + i32.const 6 + call $~lib/typedarray/Int32Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 i32.const 1 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 i32.const 2 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 i32.const 3 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 i32.const 4 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 i32.const 5 - call $~lib/typedarray/Int16Array#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 + i32.const 5 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $1 + local.get $0 + i32.const 3088 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + call $~lib/typedarray/Int32Array#filter + local.tee $1 i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 413 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Int16Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=8 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/string/String.__eq + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 5 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 417 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 i32.const 1 - i32.sub - local.set $3 - local.get $3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 3120 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Uint32Array#filter + local.tee $1 + i32.store offset=8 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s + i32.eq + i32.eqz if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $3 + local.get $1 + call $~lib/typedarray/Uint32Array#get:length + i32.const 3 + i32.eq i32.eqz if - local.get $0 - i32.load16_u - local.set $4 i32.const 0 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 + local.get $1 i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u - local.set $9 - local.get $8 - local.get $7 - local.get $8 + local.get $1 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + call $~lib/typedarray/Uint32Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 5 + i32.eq + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Uint16Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 3152 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store offset=4 local.get $2 - call $~lib/typedarray/Uint16Array#get:length + call $~lib/typedarray/Int64Array#filter + local.tee $1 + i32.store offset=8 local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Uint16Array#toString (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store + call $~lib/typedarray/Int64Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=4 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $1 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -50275,379 +37389,249 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint16Array#constructor + i32.const 6 + call $~lib/typedarray/Uint64Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set + i64.const 2 + call $~lib/typedarray/Uint64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set + i64.const 3 + call $~lib/typedarray/Uint64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set + i64.const 4 + call $~lib/typedarray/Uint64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 i32.const 5 - call $~lib/typedarray/Uint16Array#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $1 + local.get $0 + i32.const 3184 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + call $~lib/typedarray/Uint64Array#filter + local.tee $1 i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 413 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint16Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/typedarray/Uint64Array#get:length + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 414 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store local.get $1 - i32.const 1 - i32.sub - local.set $3 - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end - local.get $3 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.eq i32.eqz if - local.get $0 - i32.load - local.set $4 - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 11 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 11 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl + local.get $1 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $3 + local.get $1 i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.eq + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - ) - (func $~lib/typedarray/Int32Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.load offset=4 - local.get $0 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int32Array#get:length - local.get $1 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray - local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Int32Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store local.get $0 - local.set $1 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 5 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 3216 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/typedarray/Float32Array#filter + local.tee $1 + i32.store offset=8 local.get $1 - i32.store + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Float32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=4 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $1 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -50655,141 +37639,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor + i32.const 6 + call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set + f64.const 2 + call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set + f64.const 3 + call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set + f64.const 4 + call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 i32.const 5 - call $~lib/typedarray/Int32Array#__set - i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 + f64.const 5 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $1 + local.get $0 + i32.const 3248 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array#filter + local.tee $1 i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 413 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Int32Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer local.get $1 - i32.store offset=4 + call $~lib/typedarray/Float64Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - i32.store offset=8 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $1 - call $~lib/string/String.__eq + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 417 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -50798,170 +37764,152 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 i32.const 1 - i32.sub + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3280 local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int8Array#some + local.set $1 + local.get $1 i32.const 0 - i32.lt_s + i32.ne + i32.eqz if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 3312 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int8Array#some + local.set $2 + local.get $2 + i32.eqz i32.eqz if - local.get $0 - i32.load - local.set $4 i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $5 - i32.const 10 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.set $6 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 3344 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint8Array#some + local.set $1 + local.get $1 i32.const 0 - local.set $8 - i32.const 0 - local.set $4 - loop $for-loop|0 - local.get $4 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end local.get $0 + i32.const 3376 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint8Array#some + local.set $2 + local.get $2 + i32.eqz + i32.eqz if - local.get $7 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Uint32Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -50970,31 +37918,75 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 3408 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint32Array#get:length + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#some + local.set $1 local.get $1 - local.set $2 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3440 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#some local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Uint32Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51003,31 +37995,77 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 3472 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint32Array#join + local.get $3 + call $~lib/typedarray/Int16Array#some local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3504 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Int16Array#some + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -51035,142 +38073,74 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint32Array#constructor + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set + i32.const 2 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set + i32.const 4 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set + i32.const 6 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $1 + i32.const 3536 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $0 + local.get $3 + call $~lib/typedarray/Uint16Array#some local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint32Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + i32.ne i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 438 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint32Array#toString - local.set $1 + i32.const 3568 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $3 + call $~lib/typedarray/Uint16Array#some + local.set $2 + local.get $2 + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 440 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51179,172 +38149,152 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 i32.const 1 - i32.sub + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3600 local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int32Array#some + local.set $1 + local.get $1 i32.const 0 - i32.lt_s + i32.ne + i32.eqz if - i32.const 6048 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 3632 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int32Array#some + local.set $2 + local.get $2 + i32.eqz i32.eqz if - local.get $0 - i64.load - local.set $4 - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.wrap_i64 - i64.extend_i32_s - i32.const 10 - call $~lib/util/number/itoa64 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $5 - i32.const 21 - local.get $5 - i32.add - local.get $3 - i32.mul - i32.const 21 + i32.const 8 i32.add - local.set $6 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 i32.const 0 - local.set $8 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - local.set $10 - loop $for-loop|0 - local.get $10 - local.get $3 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $0 - local.get $10 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|0 - end - end + i32.const 2 + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3664 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint32Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz if - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3696 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint32Array#some + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 ) - (func $~lib/typedarray/Int64Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51353,31 +38303,75 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $2 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 3728 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 - local.get $2 - call $~lib/typedarray/Int64Array#get:length + local.get $3 + call $~lib/typedarray/Int64Array#some + local.set $1 local.get $1 - local.set $2 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3760 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Int64Array#some local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Int64Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51386,31 +38380,77 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 3792 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - call $~lib/typedarray/Int64Array#join + local.get $3 + call $~lib/typedarray/Uint64Array#some local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 3824 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint64Array#some + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -51418,142 +38458,74 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Int64Array#constructor + i32.const 3 + call $~lib/typedarray/Float32Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set + f32.const 2 + call $~lib/typedarray/Float32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set + f32.const 4 + call $~lib/typedarray/Float32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set + f32.const 6 + call $~lib/typedarray/Float32Array#__set local.get $0 - local.set $1 + i32.const 3856 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $0 + local.get $3 + call $~lib/typedarray/Float32Array#some local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 - i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set i32.const 0 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + i32.ne i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 438 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Int64Array#toString - local.set $1 + i32.const 3888 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $3 + call $~lib/typedarray/Float32Array#some + local.set $2 + local.get $2 + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 440 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51562,170 +38534,75 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 i32.const 1 - i32.sub + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 3920 local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return - end + i32.store offset=4 local.get $3 + call $~lib/typedarray/Float64Array#some + local.set $1 + local.get $1 + i32.const 0 + i32.ne i32.eqz if - local.get $0 - i64.load - local.set $4 i32.const 0 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $4 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $12 + local.get $0 + i32.const 3952 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 - call $~lib/string/String#get:length - local.set $5 - i32.const 20 - local.get $5 - i32.add local.get $3 - i32.mul - i32.const 20 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 i32.store offset=4 - i32.const 0 - local.set $8 - i32.const 0 - local.set $10 - loop $for-loop|0 - local.get $10 - local.get $3 - i32.lt_s - local.set $11 - local.get $11 - if - local.get $0 - local.get $10 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $5 - if - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $8 - local.get $5 - i32.add - local.set $8 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|0 - end - end - local.get $0 local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $9 - local.get $8 - local.get $7 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $8 - local.get $6 - local.get $8 - i32.gt_s + call $~lib/typedarray/Float64Array#some + local.set $2 + local.get $2 + i32.eqz + i32.eqz if - local.get $7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 i32.const 0 - local.get $8 - call $~lib/string/String#substring - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $12 - return + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.set $12 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 ) - (func $~lib/typedarray/Uint64Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51734,31 +38611,76 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set local.get $0 - local.set $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3984 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 - local.get $2 - call $~lib/typedarray/Uint64Array#get:length + local.get $3 + call $~lib/typedarray/Int8Array#findIndex + local.set $1 local.get $1 - local.set $2 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4016 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinIntegerArray + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Int8Array#findIndex local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Uint64Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51767,31 +38689,78 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 4048 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - call $~lib/typedarray/Uint64Array#join + local.get $3 + call $~lib/typedarray/Uint8Array#findIndex local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4080 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint8Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -51799,141 +38768,75 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint64Array#constructor + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.const 1 i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.const 2 i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - i32.const 0 - drop + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Uint64Array#join - local.set $1 + i32.const 4112 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 7888 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findIndex local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 652 - i32.const 5 + i32.const 461 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Uint64Array#toString - local.set $1 + i32.const 4144 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 7888 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 - i32.const 5 + i32.const 463 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -51942,164 +38845,76 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 i32.const 1 - i32.sub + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 4176 local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int16Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq i32.eqz if - local.get $0 - f32.load - f64.promote_f32 - call $~lib/util/number/dtoa - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 + local.get $0 + i32.const 4208 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $4 - i32.const 28 - local.get $4 - i32.add local.get $3 - i32.mul - i32.const 28 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 i32.store offset=4 - i32.const 0 - local.set $7 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $4 - if - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.get $4 - i32.add - local.set $7 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $0 local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $5 - local.get $7 - i32.gt_s + call $~lib/typedarray/Int16Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz if - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $7 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Float32Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52108,31 +38923,76 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4240 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 - local.get $2 - call $~lib/typedarray/Float32Array#get:length + local.get $3 + call $~lib/typedarray/Uint16Array#findIndex + local.set $1 local.get $1 - local.set $2 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4272 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinFloatArray + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint16Array#findIndex local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Float32Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52141,31 +39001,78 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4304 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - call $~lib/typedarray/Float32Array#join + local.get $3 + call $~lib/typedarray/Int32Array#findIndex local.set $1 + local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4336 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Int32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52173,141 +39080,75 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Float32Array#constructor + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.const 1 i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 + i32.const 2 i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - i32.const 1 - drop + call $~lib/typedarray/Uint32Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $1 + i32.const 4368 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 9072 + local.get $3 + call $~lib/typedarray/Uint32Array#findIndex local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 local.get $1 - call $~lib/string/String.__eq + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 649 - i32.const 5 + i32.const 461 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float32Array#toString - local.set $1 + i32.const 4400 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $3 + call $~lib/typedarray/Uint32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 650 - i32.const 5 + i32.const 463 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 f64) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52316,161 +39157,76 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 i32.const 1 - i32.sub + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 4432 local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 6048 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - end + i32.store offset=4 local.get $3 + call $~lib/typedarray/Int64Array#findIndex + local.set $1 + local.get $1 + i32.const 1 + i32.eq i32.eqz if - local.get $0 - f64.load - call $~lib/util/number/dtoa - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.set $11 + local.get $0 + i32.const 4464 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 - call $~lib/string/String#get:length - local.set $4 - i32.const 28 - local.get $4 - i32.add local.get $3 - i32.mul - i32.const 28 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 i32.store offset=4 - i32.const 0 - local.set $7 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $3 - i32.lt_s - local.set $10 - local.get $10 - if - local.get $0 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $4 - if - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - call $~lib/memory/memory.copy - local.get $7 - local.get $4 - i32.add - local.set $7 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - local.get $0 local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $8 - local.get $7 - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $8 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $7 - local.get $5 - local.get $7 - i32.gt_s + call $~lib/typedarray/Int64Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz if - local.get $6 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store - local.get $11 i32.const 0 - local.get $7 - call $~lib/string/String#substring - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 ) - (func $~lib/typedarray/Float64Array#join (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52479,31 +39235,76 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store local.get $0 - i32.load offset=4 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set local.get $0 - local.set $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 4496 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store offset=4 - local.get $2 - call $~lib/typedarray/Float64Array#get:length + local.get $3 + call $~lib/typedarray/Uint64Array#findIndex + local.set $1 local.get $1 - local.set $2 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4528 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store - local.get $2 - call $~lib/util/string/joinFloatArray + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint64Array#findIndex local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/typedarray/Float64Array#toString (param $0 i32) (result i32) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> + (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52512,31 +39313,78 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 i32.store - local.get $1 - i32.const 7856 - local.set $1 + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 4560 + local.set $3 global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Float32Array#findIndex + local.set $1 local.get $1 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 461 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 4592 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 + local.get $3 + call $~lib/typedarray/Float32Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 463 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52544,141 +39392,77 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 + i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $0 - local.set $1 + i32.const 4624 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 + local.get $3 + call $~lib/typedarray/Float64Array#findIndex local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 local.get $1 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set i32.const 1 - drop - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - i32.const 7856 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=16 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 649 - i32.const 5 + i32.const 461 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#toString - local.set $1 + i32.const 4656 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store offset=4 - local.get $1 - i32.const 9072 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $3 + call $~lib/typedarray/Float64Array#findIndex + local.set $2 + local.get $2 + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 650 - i32.const 5 + i32.const 463 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52687,124 +39471,73 @@ i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store - local.get $1 - local.set $4 - local.get $2 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4688 local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $3 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 + local.get $3 + call $~lib/typedarray/Int8Array#every + local.set $1 + local.get $1 i32.const 0 - i32.and - i32.or + i32.ne + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + i32.const 4720 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Int8Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 i32.const 0 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add - i32.store offset=4 - local.get $8 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -52813,235 +39546,77 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store - local.get $8 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $1 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $1 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $1 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $3 - local.get $2 - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $2 - local.tee $5 - local.get $3 - local.tee $4 - local.get $5 - local.get $4 - i32.lt_s - select - end - local.set $2 - local.get $2 - local.get $1 - i32.sub - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store offset=4 - local.get $7 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store local.get $0 - local.get $1 - i32.add - local.get $6 - call $~lib/memory/memory.copy - local.get $7 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - ) - (func $~lib/typedarray/Int8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Uint8Array#__set local.get $0 - local.tee $5 - i32.store - local.get $1 - local.set $4 - local.get $2 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 4752 local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $3 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $3 + call $~lib/typedarray/Uint8Array#every + local.set $1 + local.get $1 i32.const 0 - i32.lt_s + i32.ne + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 i32.const 0 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add + local.get $0 + i32.const 4784 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store offset=4 - local.get $8 - local.set $9 + local.get $3 + call $~lib/typedarray/Uint8Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53049,167 +39624,76 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 i32.store local.get $0 - local.set $7 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 4816 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#every local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i32.const 24 - i32.shl - i32.const 24 - i32.shr_s - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 4848 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#every + local.set $2 local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int8Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53217,166 +39701,76 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 4880 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + local.get $3 + call $~lib/typedarray/Int16Array#every local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 4912 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $3 + call $~lib/typedarray/Int16Array#every + local.set $2 local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint8Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53385,128 +39779,75 @@ i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 i32.store - local.get $1 - local.set $4 - local.get $2 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4944 local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $3 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 - call $~lib/builtins/abort - unreachable - end local.get $3 + call $~lib/typedarray/Uint16Array#every + local.set $1 + local.get $1 i32.const 0 - i32.lt_s + i32.ne + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 i32.const 0 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 4976 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add + local.get $3 i32.store offset=4 - local.get $8 - local.set $9 + local.get $3 + call $~lib/typedarray/Uint16Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53514,168 +39855,76 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 5008 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + local.get $3 + call $~lib/typedarray/Int32Array#every local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 5040 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $3 + call $~lib/typedarray/Int32Array#every + local.set $2 local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53684,128 +39933,75 @@ i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 i32.store - local.get $1 - local.set $4 - local.get $2 + local.get $0 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 5072 local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $3 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 1 - i32.and - i32.or + local.get $3 + call $~lib/typedarray/Uint32Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + i32.const 5104 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint32Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 1 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 1 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add - i32.store offset=4 - local.get $8 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53813,172 +40009,153 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 5136 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + local.get $3 + call $~lib/typedarray/Int64Array#every local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i32.const 16 - i32.shl - i32.const 16 - i32.shr_s - call $~lib/typedarray/Int16Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 5168 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 + local.get $3 + call $~lib/typedarray/Int64Array#every + local.set $2 local.get $2 - local.set $7 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop i32.const 0 - drop + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - drop + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 5200 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array.wrap@varargs - local.tee $6 - i32.store offset=20 + local.get $3 + call $~lib/typedarray/Uint64Array#every + local.set $1 + local.get $1 i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 5232 local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int16Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int16Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Uint64Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53987,128 +40164,75 @@ i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 i32.store - local.get $1 - local.set $4 - local.get $2 + local.get $0 + i32.const 0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 6 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 5264 local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $3 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 1 - i32.and - i32.or + local.get $3 + call $~lib/typedarray/Float32Array#every + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + i32.const 5296 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.const 0 - i32.lt_s + i32.store offset=4 + local.get $3 + call $~lib/typedarray/Float32Array#every + local.set $2 + local.get $2 + i32.eqz + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 1 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 1 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 - i32.add - i32.store offset=4 - local.get $8 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -54116,170 +40240,145 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 5328 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + local.get $3 + call $~lib/typedarray/Float64Array#every local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 5360 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $3 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $3 + call $~lib/typedarray/Float64Array#every + local.set $2 local.get $2 - local.set $7 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 486 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 + i32.const 8 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array.wrap@varargs - local.tee $6 - i32.store offset=20 i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $1 + call $~lib/array/Array#__get local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint16Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint16Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + local.get $0 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + local.get $3 + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -54291,127 +40390,160 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 5472 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $7 - i32.gt_u + i32.store local.get $4 - i32.const 3 + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + i32.const 255 i32.and - i32.or + local.get $3 + i32.const 255 + i32.and + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 + i32.const 0 + i32.const 544 + i32.const 513 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 2 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -54419,170 +40551,154 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store offset=8 + i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 5504 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Uint8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 + i32.const 12 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array.wrap@varargs - local.tee $6 - i32.store offset=20 i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $1 + call $~lib/array/Array#__get local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int32Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int32Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + local.get $0 + i32.const 255 + i32.and + local.get $3 + i32.const 255 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -54594,127 +40710,158 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 3 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 255 i32.and - i32.or + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 5536 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 2 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store local.get $4 + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + local.get $3 + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -54722,304 +40869,162 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop + local.get $1 i32.const 0 - drop + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - i32.const 0 + local.get $1 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint32Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint32Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 5568 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - local.get $1 + global.get $std/typedarray/forEachValues local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 local.get $4 - local.get $7 - i32.gt_u + i32.store local.get $4 - i32.const 7 + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + i32.const 65535 i32.and - i32.or + local.get $3 + i32.const 65535 + i32.and + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 3 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -55027,175 +41032,150 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store offset=8 + i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 5600 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Uint16Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 + i32.const 12 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array.wrap@varargs - local.tee $6 - i32.store offset=20 i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $1 + call $~lib/array/Array#__get local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int64Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Int64Array#__get - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + local.get $0 + local.get $3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -55207,127 +41187,144 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 - local.get $4 - local.get $7 - i32.gt_u - local.get $4 - i32.const 7 - i32.and - i32.or + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 5632 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s - if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 3 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end global.get $~lib/memory/__stack_pointer i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store local.get $4 + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + local.get $3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -55335,309 +41332,147 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store offset=8 - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop + local.get $1 i32.const 0 - drop + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $0 i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - i32.const 0 + local.get $1 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint64Array.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint64Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Uint64Array#__get - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 5664 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Uint32Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - local.get $1 + global.get $std/typedarray/forEachValues local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 local.get $4 - local.get $7 - i32.gt_u + i32.store local.get $4 - i32.const 3 - i32.and - i32.or + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + local.get $3 + i64.extend_i32_s + i64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 + i32.const 0 + i32.const 544 + i32.const 513 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 2 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -55645,311 +41480,150 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $0 - i32.store - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $1 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 i32.store offset=8 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop i32.const 0 - drop + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 i32.const 0 - drop + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - drop + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $0 i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - i32.const 0 + local.get $1 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float32Array.wrap@varargs - local.tee $6 - i32.store offset=20 - i32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Float32Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Float32Array#__get - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 5696 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - local.get $1 + global.get $std/typedarray/forEachValues local.set $4 - local.get $2 - local.set $3 - local.get $5 - local.set $9 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store offset=4 - local.get $9 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $7 local.get $4 - local.get $7 - i32.gt_u + i32.store local.get $4 - i32.const 7 - i32.and - i32.or + local.get $1 + call $~lib/array/Array#__get + local.set $3 + local.get $0 + local.get $3 + i64.extend_i32_s + i64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1826 + i32.const 0 + i32.const 544 + i32.const 513 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz if - local.get $3 - i32.const -1 - i32.eq - if - local.get $7 - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1831 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $4 - i32.sub - local.set $6 - else - i32.const 32 - i32.const 608 - i32.const 1835 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $3 - i32.const 3 - i32.shl - local.set $6 - local.get $4 - local.get $6 - i32.add - local.get $7 - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1840 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store offset=8 - local.get $8 - local.get $5 - i32.store - local.get $8 - local.get $5 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $8 - local.get $6 - i32.store offset=8 - local.get $8 - local.get $5 - local.get $4 + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 i32.add - i32.store offset=4 - local.get $8 - local.set $9 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -55957,183 +41631,148 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor local.tee $0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - call $~lib/array/Array#get:length + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 local.get $1 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store offset=8 + i32.store offset=4 + local.get $1 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - local.get $3 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load - local.set $7 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store offset=4 - local.get $7 - local.get $2 - local.set $7 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 5728 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - local.set $7 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Uint64Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=12 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $2 - i32.load offset=8 + i32.const 12 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store offset=16 - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $5 - local.set $7 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array.wrap@varargs - local.tee $6 - i32.store offset=20 i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $1 + call $~lib/array/Array#__get local.set $3 - loop $for-loop|1 - local.get $3 - local.get $1 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $2 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Float64Array#__get - local.get $6 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store offset=4 - local.get $7 - local.get $3 - call $~lib/typedarray/Float64Array#__get - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 707 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end + local.get $0 + local.get $3 + f32.convert_i32_s + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 514 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -56145,152 +41784,80 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 5760 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + local.get $1 + call $~lib/typedarray/Float32Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) - (local $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -56299,113 +41866,64 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store - local.get $0 - local.set $7 + global.get $std/typedarray/forEachValues + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.store - local.get $7 - call $~lib/typedarray/Int8Array#get:length - local.set $2 - local.get $2 + local.get $4 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length + call $~lib/array/Array#__get + local.set $3 + local.get $0 + local.get $3 + f64.convert_i32_s + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 513 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + global.get $std/typedarray/forEachCallCount i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 735 - i32.const 3 + i32.const 514 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Int8Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i32.ne - if - i32.const 9616 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - local.get $6 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + global.get $std/typedarray/forEachSelf + local.get $2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 515 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -56417,161 +41935,88 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 i32.store + local.get $0 + global.set $std/typedarray/forEachSelf + local.get $0 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 5792 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + local.get $1 + call $~lib/typedarray/Float64Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 518 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -56579,160 +42024,194 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Int8Array#constructor + local.tee $3 + i32.store offset=8 i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int8Array#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Int8Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int8Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Int8Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 8 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 7 i32.eq - if (result i32) + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 i32.const 3 - i32.eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + local.get $6 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + local.get $6 + i32.const 3 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -56740,158 +42219,188 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - i32.eqz - else - i32.const 0 end + local.get $2 + call $~lib/typedarray/Uint8Array#reverse drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $5 + local.get $5 if - i32.const 0 - drop + local.get $2 + local.get $4 + call $~lib/typedarray/Uint8Array#__get + local.get $0 + local.get $1 i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_s - else + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable end - i32.store8 - local.get $9 + local.get $4 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $4 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Uint8Array#subarray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Uint8Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -56899,106 +42408,188 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store offset=8 i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8Array#get:length local.get $3 - i32.add - local.get $5 - local.set $6 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#reverse + local.tee $6 + i32.store offset=16 local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 8 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7 i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57006,154 +42597,194 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $1 + call $~lib/typedarray/Int16Array#constructor + local.tee $3 + i32.store offset=8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int16Array#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Int16Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int16Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Int16Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 i32.eq - if (result i32) - i32.const 0 - i32.const 1 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + local.get $6 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + local.get $6 + i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57161,95 +42792,178 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint16Array#constructor + local.tee $3 + i32.store offset=8 i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint16Array#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Uint16Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.const 65535 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/array/Array#get:length local.get $3 - i32.add - local.get $5 - local.set $6 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Uint16Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Uint16Array#reverse + local.tee $6 + i32.store offset=16 local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 8 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 7 i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (local $0 i32) (local $1 i32) (local $2 i32) @@ -57257,8 +42971,9 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57269,326 +42984,179 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $2 - i32.store offset=12 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 - call $~lib/typedarray/Int8Array#constructor + local.get $1 + call $~lib/typedarray/Int32Array#constructor local.tee $3 - i32.store offset=16 - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9584 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9664 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 + i32.store offset=8 i32.const 0 - i32.const 15 - i32.const 9696 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - i32.const 1 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int32Array#reverse drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 2 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 15 - i32.const 9728 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Int32Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 4 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 + i32.const 8 + call $~lib/typedarray/Int32Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Int32Array#reverse + local.tee $6 + i32.store offset=16 local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 0 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 + call $~lib/typedarray/Int32Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $6 - i32.const 10 - i32.const 0 - i32.const 15 - i32.const 9760 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $6 - i32.store offset=20 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + i32.const 3 + call $~lib/typedarray/Int32Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57596,148 +43164,360 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 + i32.store offset=8 i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint32Array#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Uint32Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Uint32Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Uint32Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 8 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 7 i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 6 + i32.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint32Array#__get + i32.const 5 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $0 + i32.store + local.get $0 call $~lib/array/Array#get:length - local.set $8 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $9 + local.get $1 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store offset=8 + i32.const 0 + local.set $4 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $4 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $5 + local.get $5 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Int64Array#reverse + drop + i32.const 0 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Int64Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store8 - local.get $9 + local.get $4 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $4 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int64Array#subarray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Int64Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -57745,122 +43525,193 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store local.get $0 - local.set $7 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Uint8Array#get:length - local.set $2 - local.get $2 + i32.const 0 local.get $1 - local.set $7 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end i32.const 0 - local.set $3 + local.get $1 + call $~lib/typedarray/Uint64Array#constructor + local.tee $3 + i32.store offset=8 + i32.const 0 + local.set $4 loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 if + local.get $2 + local.get $4 local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 + local.get $4 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $3 - call $~lib/typedarray/Uint8Array#__uget - local.set $5 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Uint64Array#reverse + drop + i32.const 0 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Uint64Array#__get + local.get $0 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i32.ne + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.eq + i32.eqz if - i32.const 9824 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i32_u - local.get $6 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $3 + local.get $4 i32.const 1 i32.add - local.set $3 - br $for-loop|0 + local.set $4 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer + local.get $3 i32.const 4 + i32.const 8 + call $~lib/typedarray/Uint64Array#subarray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Uint64Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 6 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57868,163 +43719,185 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 + i32.const 0 + local.get $1 + call $~lib/typedarray/Float32Array#constructor + local.tee $3 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - i32.eqz - else - i32.const 0 end + local.get $2 + call $~lib/typedarray/Float32Array#reverse drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $5 + local.get $5 if - i32.const 0 - drop + local.get $2 + local.get $4 + call $~lib/typedarray/Float32Array#__get + local.get $0 + local.get $1 i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + f32.convert_i32_s f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_u - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable end - i32.store8 - local.get $9 + local.get $4 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $4 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $3 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Float32Array#subarray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Float32Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 8 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 7 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 6 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58032,160 +43905,204 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayReverseValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $1 + call $~lib/typedarray/Float64Array#constructor + local.tee $3 + i32.store offset=8 i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $3 + local.get $4 + local.get $0 + local.get $4 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $2 + call $~lib/typedarray/Float64Array#reverse drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $4 + loop $for-loop|1 + local.get $4 + local.get $1 + i32.lt_s + local.set $5 + local.get $5 + if + local.get $2 + local.get $4 + call $~lib/typedarray/Float64Array#__get + local.get $0 + local.get $1 + i32.const 1 + i32.sub + local.get $4 + i32.sub + call $~lib/array/Array#__get + f64.convert_i32_s + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 547 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|1 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Float64Array#subarray + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $7 + i32.store offset=12 + local.get $7 + call $~lib/typedarray/Float64Array#reverse + local.tee $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 8 + f64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 552 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $6 i32.const 1 - i32.const 1 - i32.eq - if (result i32) + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 553 i32.const 3 - i32.eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $6 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 554 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Int8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58193,158 +44110,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Int8Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 + local.get $0 + call $~lib/typedarray/Int8Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58352,106 +44234,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint8Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $6 + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58459,154 +44358,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $1 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Int16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58614,104 +44482,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Int16Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $6 + local.get $0 + call $~lib/typedarray/Int16Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58722,327 +44609,244 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set + i32.const 1 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + i32.const 2 + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 3 i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + call $~lib/typedarray/Uint16Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - local.set $6 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint16Array#join + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Uint16Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $6 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store offset=16 - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $3 - local.set $6 + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 9792 - call $~lib/rt/__newArray - local.set $6 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $3 - local.set $6 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 63 - i32.const 9872 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 63 - i32.const 9904 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> i32.const 1 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set i32.const 0 - i32.const 63 - i32.const 9936 - call $~lib/rt/__newArray - local.set $6 + drop + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=4 - local.get $6 local.get $1 - local.set $6 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Int32Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 4 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $3 - local.set $6 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 63 - i32.const 9968 - call $~lib/rt/__newArray - local.set $6 + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint32Array#join + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59050,161 +44854,95 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint32Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 + local.get $0 + call $~lib/typedarray/Uint32Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 0 - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $11 - i32.sub - i32.const 31 - i32.shr_s - local.get $11 - i32.or - i32.and - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/typedarray/Int64Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -59214,114 +44952,25 @@ i32.const 0 i32.store local.get $0 - local.set $7 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $2 - local.get $2 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i32.ne - if - i32.const 10032 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i32_u - local.get $6 - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end - end + local.get $1 + call $~lib/typedarray/Int64Array#join + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59329,162 +44978,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $0 i32.const 0 - drop - local.get $3 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Int64Array#__set i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 + drop + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Int64Array#join + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + local.get $0 + call $~lib/typedarray/Int64Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 1 - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $11 - f32.min - f32.max - i32.trunc_f32_u - else - i32.const 0 - end - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i64) - (local $12 i32) + (func $~lib/typedarray/Uint64Array#toString (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Uint64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59492,171 +45102,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $0 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + i32.const 0 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Uint64Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 7888 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 652 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 + local.get $0 + call $~lib/typedarray/Uint64Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int64Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 7888 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 653 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int64Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 0 - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - local.set $11 - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.wrap_i64 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i64.extend_i32_s - i32.const 255 - local.get $11 - i32.wrap_i64 - i32.sub - i32.const 31 - i32.shr_s - i64.extend_i32_s - local.get $11 - i64.or - i64.and - i64.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Float32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59664,156 +45226,123 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 5 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $0 + i32.const 4 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + i32.const 1 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Float32Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 9072 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 649 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 + local.get $0 + call $~lib/typedarray/Float32Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 9072 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $1 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 650 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#toString (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 1 - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - f64.const 0 - f64.const 255 - local.get $11 - f64.min - f64.max - i32.trunc_f64_u - else - i32.const 0 - end - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.store + local.get $0 + i32.const 7856 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + i32.store + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59821,107 +45350,104 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + f64.const 1 + call $~lib/typedarray/Float64Array#__set local.get $0 - local.tee $5 - i32.store + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + i32.const 1 + drop + local.get $0 + i32.const 7856 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $1 + i32.const 9072 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 649 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $6 + local.get $0 + call $~lib/typedarray/Float64Array#toString + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 9072 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + local.get $1 + call $~lib/string/String.__eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 650 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -59929,167 +45455,127 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 24 + i32.shl + i32.const 24 + i32.shr_s + call $~lib/typedarray/Int8Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $7 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop + global.get $~lib/memory/__stack_pointer local.get $5 - i32.load offset=4 - local.get $3 i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int16Array#get:length - local.set $8 + i32.const 1 + global.set $~argumentsLength i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + call $~lib/typedarray/Int8Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 1 - drop - i32.const 0 - drop - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - local.set $11 - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop + local.get $2 + local.get $3 + call $~lib/typedarray/Int8Array#__get local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $11 - i32.sub - i32.const 31 - i32.shr_s - local.get $11 - i32.or - i32.and - i32.store8 - local.get $9 + local.get $3 + call $~lib/typedarray/Int8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -60097,155 +45583,117 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $7 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $5 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 0 - drop - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - local.set $11 - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Uint8Array#__get local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $11 - i32.sub - i32.const 31 - i32.shr_s - local.get $11 - i32.or - i32.and - i32.store8 - local.get $9 + local.get $3 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (local $0 i32) (local $1 i32) (local $2 i32) @@ -60253,8 +45701,9 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -60265,326 +45714,260 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 i32.store offset=4 - local.get $6 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 local.get $2 - local.set $6 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + local.get $7 + i32.store offset=8 + local.get $7 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop global.get $~lib/memory/__stack_pointer + local.get $5 i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray.wrap@varargs + local.tee $6 i32.store offset=16 - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $3 - local.set $6 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10000 - call $~lib/rt/__newArray - local.set $6 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $3 - local.set $6 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $3 - local.set $6 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 63 - i32.const 10096 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $3 - local.set $6 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 + i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 10128 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - i32.const 1 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $3 - local.set $6 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 i32.const 0 - i32.const 63 - i32.const 10160 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=4 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 16 + i32.shl + i32.const 16 + i32.shr_s + call $~lib/typedarray/Int16Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $7 + i32.store offset=8 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 drop - local.get $3 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 + local.get $5 i32.const 0 - i32.const 63 - i32.const 10192 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int16Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Int16Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Int16Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -60592,148 +45975,125 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $7 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop + global.get $~lib/memory/__stack_pointer local.get $5 - i32.load offset=4 - local.get $3 + i32.const 0 i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + global.set $~argumentsLength i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + call $~lib/typedarray/Uint16Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else + local.get $2 + local.get $3 + call $~lib/typedarray/Uint16Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Uint16Array#__get + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (local $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -60741,122 +46101,141 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store local.get $0 - local.set $7 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Int16Array#get:length - local.set $2 - local.get $2 + i32.const 0 local.get $1 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store offset=4 + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store + i32.store offset=8 local.get $7 - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array.wrap@varargs + local.tee $6 + i32.store offset=16 i32.const 0 local.set $3 - loop $for-loop|0 + loop $for-loop|1 local.get $3 - local.get $2 + local.get $1 i32.lt_s local.set $4 local.get $4 if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Int16Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 + local.get $2 local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 + call $~lib/typedarray/Int32Array#__get local.get $6 - i32.ne + local.get $3 + call $~lib/typedarray/Int32Array#__get + i32.eq + i32.eqz if - i32.const 10272 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i32_s - local.get $6 - f64.convert_i32_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $3 i32.const 1 i32.add local.set $3 - br $for-loop|0 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -60864,163 +46243,135 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $7 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 0 - i32.eq - if (result i32) - i32.const 1 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop - local.get $5 - i32.load offset=4 - local.get $3 i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + drop global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $5 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 + local.get $2 + local.get $3 + call $~lib/typedarray/Uint32Array#__get local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_s - else + local.get $3 + call $~lib/typedarray/Uint32Array#__get + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -61028,160 +46379,138 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Int64Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $7 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop + global.get $~lib/memory/__stack_pointer local.get $5 - i32.load offset=4 - local.get $3 + i32.const 0 i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 + global.set $~argumentsLength i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + call $~lib/typedarray/Int64Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else + local.get $2 + local.get $3 + call $~lib/typedarray/Int64Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Int64Array#__get + i64.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -61189,163 +46518,140 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Uint64Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $7 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 0 - i32.eq - if (result i32) - i32.const 1 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop - local.get $5 - i32.load offset=4 - local.get $3 i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + drop global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $5 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_s - else + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Uint64Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Uint64Array#__get + i64.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -61353,154 +46659,142 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Float32Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $7 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $7 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop + global.get $~lib/memory/__stack_pointer local.get $5 - i32.load offset=4 - local.get $3 + i32.const 0 i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 + global.set $~argumentsLength i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 + call $~lib/typedarray/Float32Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else + local.get $2 + local.get $3 + call $~lib/typedarray/Float32Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Float32Array#__get + f32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 - br $for-loop|0 + local.set $3 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -61508,255 +46802,225 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + global.get $std/typedarray/testArrayWrapValues + local.tee $0 i32.store + local.get $0 + call $~lib/array/Array#get:length + local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $1 - local.tee $4 + call $~lib/typedarray/Float64Array#constructor + local.tee $2 i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $3 i32.const 1 - else - i32.const 0 + i32.add + local.set $3 + br $for-loop|0 end - i32.eqz - else - i32.const 0 end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $2 + i32.load + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $7 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + local.get $7 local.get $2 - local.set $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $2 + i32.load offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store offset=12 i32.const 0 drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + i32.const 0 i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array.wrap@varargs + local.tee $6 + i32.store offset=16 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $1 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $2 + local.get $3 + call $~lib/typedarray/Float64Array#__get + local.get $6 + local.get $3 + call $~lib/typedarray/Float64Array#__get + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 707 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 i32.const 1 - else - i32.const 0 + i32.add + local.set $3 + br $for-loop|1 end - i32.eqz - else - i32.const 0 end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $2 + local.get $2 + local.get $1 call $~lib/array/Array#get:length - local.set $8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Int8Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne + if + i32.const 9616 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + local.get $6 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -61765,7 +47029,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -61776,8 +47040,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 @@ -61785,29 +47049,14 @@ local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -61816,40 +47065,20 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -61858,393 +47087,143 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $2 - i32.store offset=12 + i32.store offset=8 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int16Array#constructor + call $~lib/typedarray/Int8Array#constructor local.tee $3 - i32.store offset=16 + i32.store offset=12 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource1 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10224 + i32.const 0 + i32.const 15 + i32.const 9584 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10320 + i32.const 0 + i32.const 15 + i32.const 9664 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 6 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10368 + i32.const 0 + i32.const 15 + i32.const 9696 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> i32.const 1 drop local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource3 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10416 + i32.const 0 + i32.const 15 + i32.const 9728 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 4 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource7 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 7 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> + call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 0 drop local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 1 - i32.const 64 - i32.const 10464 + i32.const 0 + i32.const 15 + i32.const 9760 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -62260,21 +47239,11 @@ i32.const 0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Uint16Array#get:length + call $~lib/typedarray/Uint8Array#get:length local.set $2 local.get $2 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -62295,28 +47264,18 @@ local.get $4 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 - call $~lib/typedarray/Uint16Array#__uget + call $~lib/typedarray/Uint8Array#__uget local.set $5 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 i32.ne if - i32.const 10560 + i32.const 9824 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -62355,19 +47314,16 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -62375,324 +47331,293 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=8 local.get $2 - local.set $3 i32.const 0 - drop + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint8Array#constructor + local.tee $3 + i32.store offset=12 local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9792 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $3 - i32.add - local.get $5 - local.set $12 + global.get $std/typedarray/setSource2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + i32.const 63 + i32.const 9872 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9904 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> i32.const 1 - i32.shl - i32.add + drop + local.get $3 + global.get $std/typedarray/setSource3 local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.const 63 + i32.const 9936 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $3 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 9968 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $2 local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne + if + i32.const 10032 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $6 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -62700,570 +47625,574 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=8 local.get $2 - local.set $3 i32.const 0 - drop + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $3 + i32.store offset=12 local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 10000 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> local.get $3 - i32.add - local.get $5 - local.set $12 + global.get $std/typedarray/setSource2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - i32.eq - if (result i32) - i32.const 1 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + i32.const 63 + i32.const 10096 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 10128 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 1 - i32.shl - i32.add + drop + local.get $3 + global.get $std/typedarray/setSource3 local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store16 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.const 63 + i32.const 10160 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $3 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + i32.const 1 + drop + local.get $3 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 10192 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Int16Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne + if + i32.const 10272 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + local.get $6 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 local.get $2 - local.set $3 i32.const 0 - drop + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int16Array#constructor + local.tee $3 + i32.store offset=12 local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 10224 + call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=16 local.get $6 - call $~lib/typedarray/Int16Array#get:length + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $3 - i32.add - local.get $5 + global.get $std/typedarray/setSource2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=16 local.get $6 - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + i32.const 3 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 1 + i32.const 64 + i32.const 10320 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 10368 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop - local.get $5 - i32.load offset=4 local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $3 + i32.const 10 i32.const 1 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + i32.const 64 + i32.const 10416 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $3 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $3 + i32.const 10 + i32.const 1 + i32.const 64 + i32.const 10464 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 + local.get $0 call $~lib/typedarray/Uint16Array#get:length - i32.gt_s + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 1 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Uint16Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i32.ne + if + i32.const 10560 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $6 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - i32.store16 - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -63276,7 +48205,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -63287,8 +48216,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 @@ -63296,29 +48225,14 @@ local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -63327,40 +48241,20 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -63369,31 +48263,16 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $2 - i32.store offset=12 + i32.store offset=8 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -63402,27 +48281,17 @@ i32.const 10 call $~lib/typedarray/Uint16Array#constructor local.tee $3 - i32.store offset=16 + i32.store offset=12 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource1 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 0 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 i32.const 1 i32.const 65 @@ -63431,29 +48300,19 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 3 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 i32.const 1 i32.const 65 @@ -63462,29 +48321,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 6 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 i32.const 1 i32.const 65 @@ -63493,31 +48337,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> i32.const 1 drop local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource3 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + local.get $3 i32.const 10 i32.const 1 i32.const 65 @@ -63526,59 +48360,29 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 4 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource7 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 7 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> i32.const 0 drop local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 i32.const 1 i32.const 65 @@ -63587,113 +48391,11 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -63713,20 +48415,10 @@ i32.const 0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $2 local.get $2 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 call $~lib/array/Array#get:length i32.eq i32.eqz @@ -63748,20 +48440,10 @@ local.get $4 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 call $~lib/typedarray/Int32Array#__uget local.set $5 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 call $~lib/array/Array#__uget local.set $6 @@ -63808,19 +48490,16 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -63828,488 +48507,293 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $12 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 + i32.store offset=12 local.get $3 - i32.const 2 - i32.shl - i32.add + global.get $std/typedarray/setSource1 local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_s - else - i32.const 0 - end - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10800 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10912 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $3 local.get $0 - local.tee $5 - i32.store + i32.const 6 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 10976 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + i32.const 1 drop local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + global.get $std/typedarray/setSource3 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 10 + i32.const 2 + i32.const 16 + i32.const 11040 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $3 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 0 drop - local.get $5 - i32.load offset=4 local.get $3 + i32.const 10 i32.const 2 - i32.shl - i32.add + i32.const 16 + i32.const 11104 + call $~lib/rt/__newArray local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store32 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + local.get $0 + call $~lib/typedarray/Uint32Array#get:length + local.set $2 local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 2 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 + local.get $0 + local.get $3 + call $~lib/typedarray/Uint32Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_s - else + i32.ne + if + i32.const 11232 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $6 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - i32.store - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -64317,159 +48801,293 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=8 local.get $2 - local.set $3 i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 + i32.store offset=12 + local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11168 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11280 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11344 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + i32.const 1 drop local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11408 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $3 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + i32.const 0 + drop local.get $3 + i32.const 10 + i32.const 2 + i32.const 66 + i32.const 11472 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.get $5 - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i32) global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Int64Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i64.ne + if + i32.const 11648 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i64_s + local.get $6 + f64.convert_i64_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - i32.store - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -64477,308 +49095,284 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=8 local.get $2 - local.set $3 i32.const 0 - drop + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int64Array#constructor + local.tee $3 + i32.store offset=12 local.get $3 + global.get $std/typedarray/setSource1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11536 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $3 - i32.add - local.get $5 - local.set $11 + global.get $std/typedarray/setSource2 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11696 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11808 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end drop - local.get $5 - i32.load offset=4 local.get $3 + global.get $std/typedarray/setSource3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 i32.const 2 - i32.shl - i32.add + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 11920 + call $~lib/rt/__newArray local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $3 + local.get $1 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $3 + i32.const 10 + i32.const 3 + i32.const 67 + i32.const 12032 + call $~lib/rt/__newArray + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 i64) + (local $6 i64) (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + local.get $0 + call $~lib/typedarray/Uint64Array#get:length + local.set $2 local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 + local.get $1 + call $~lib/array/Array#get:length i32.eq - if (result i32) - i32.const 2 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 + local.set $3 loop $for-loop|0 - local.get $9 - local.get $8 + local.get $3 + local.get $2 i32.lt_s - local.set $10 - local.get $10 + local.set $4 + local.get $4 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) + local.get $0 + local.get $3 + call $~lib/typedarray/Uint64Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + i64.ne + if + i32.const 12256 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.convert_i64_u + local.get $6 + f64.convert_i64_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 i32.eqz - else - i32.const 0 + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - i32.store - local.get $9 + local.get $3 i32.const 1 i32.add - local.set $9 + local.set $3 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) (local $1 i32) (local $2 i32) @@ -64787,7 +49381,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -64798,8 +49392,8 @@ i64.const 0 i64.store offset=8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 @@ -64807,29 +49401,14 @@ local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -64838,40 +49417,20 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 i32.store offset=4 - local.get $6 + local.get $1 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -64880,340 +49439,421 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $2 - i32.store offset=12 + i32.store offset=8 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 - call $~lib/typedarray/Int32Array#constructor + call $~lib/typedarray/Uint64Array#constructor local.tee $3 - i32.store offset=16 + i32.store offset=12 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource1 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10800 + i32.const 3 + i32.const 68 + i32.const 12144 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 3 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10912 + i32.const 3 + i32.const 68 + i32.const 12304 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 6 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 10976 + i32.const 3 + i32.const 68 + i32.const 12416 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> i32.const 1 drop local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 global.get $std/typedarray/setSource3 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 i32.const 2 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 10 - i32.const 2 - i32.const 16 - i32.const 11040 + i32.const 3 + i32.const 68 + i32.const 12528 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $1 + i32.const 0 + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 + i32.const 7 + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + drop local.get $3 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12640 + call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=16 local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 f32) + (local $6 f32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + call $~lib/typedarray/Float32Array#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 735 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $3 + loop $for-loop|0 + local.get $3 + local.get $2 + i32.lt_s + local.set $4 + local.get $4 + if + local.get $0 + local.get $3 + call $~lib/typedarray/Float32Array#__uget + local.set $5 + local.get $1 + local.get $3 + call $~lib/array/Array#__uget + local.set $6 + local.get $5 + local.get $6 + f32.ne + if + i32.const 12816 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + i32.const 3 + local.get $3 + f64.convert_i32_s + local.get $5 + f64.promote_f32 + local.get $6 + f64.promote_f32 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 741 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 10 + call $~lib/typedarray/Float32Array#constructor + local.tee $3 + i32.store offset=12 + local.get $3 + global.get $std/typedarray/setSource1 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - i32.const 4 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + i32.const 0 + call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $3 + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12752 + call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=16 local.get $6 - global.get $std/typedarray/setSource7 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $3 + global.get $std/typedarray/setSource2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - i32.const 7 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 0 - drop + i32.const 3 + call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $3 + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12864 + call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + i32.store offset=16 local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $3 + local.get $0 + i32.const 6 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> + local.get $3 i32.const 10 i32.const 2 - i32.const 16 - i32.const 11104 + i32.const 61 + i32.const 12928 call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.store offset=16 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 drop local.get $3 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> + local.get $3 + local.get $2 + i32.const 4 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> + local.get $3 + global.get $std/typedarray/setSource7 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=16 local.get $6 - call $~lib/array/Array#get:length + i32.const 7 + call $~lib/typedarray/Float32Array#set<~lib/array/Array> + i32.const 0 + drop local.get $3 - i32.add - local.get $5 + i32.const 10 + i32.const 2 + i32.const 61 + i32.const 12992 + call $~lib/rt/__newArray local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 + i32.store offset=16 local.get $6 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $5 f64) + (local $6 f64) (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -65224,21 +49864,11 @@ i32.const 0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Uint32Array#get:length + call $~lib/typedarray/Float64Array#get:length local.set $2 local.get $2 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length + call $~lib/array/Array#get:length i32.eq i32.eqz if @@ -65259,28 +49889,18 @@ local.get $4 if local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 - call $~lib/typedarray/Uint32Array#__uget + call $~lib/typedarray/Float64Array#__uget local.set $5 local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 local.get $3 - call $~lib/array/Array#__uget + call $~lib/array/Array#__uget local.set $6 local.get $5 local.get $6 - i32.ne + f64.ne if - i32.const 11232 + i32.const 13168 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 @@ -65290,9 +49910,7 @@ local.get $3 f64.convert_i32_s local.get $5 - f64.convert_i32_u local.get $6 - f64.convert_i32_u f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -65319,19 +49937,16 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -65339,324 +49954,183 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 i32.store + local.get $0 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $0 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $1 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $12 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $2 i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + i32.const 10 + call $~lib/typedarray/Float64Array#constructor + local.tee $3 + i32.store offset=12 local.get $3 - i32.const 2 - i32.shl - i32.add + global.get $std/typedarray/setSource1 local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $6 + i32.store offset=16 + local.get $6 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $11 - i32.trunc_f32_u - else - i32.const 0 - end - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Float64Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 13056 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $3 + global.get $std/typedarray/setSource2 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 3 + call $~lib/typedarray/Float64Array#set<~lib/array/Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 13216 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $3 local.get $0 - local.tee $5 - i32.store + i32.const 6 + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> + local.get $3 + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 13328 + call $~lib/rt/__newArray + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> i32.const 0 drop local.get $3 + local.get $1 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + local.get $2 + i32.const 4 + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> local.get $3 - i32.const 2 - i32.shl - i32.add + global.get $std/typedarray/setSource7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 + local.get $6 + i32.const 7 + call $~lib/typedarray/Float64Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $3 + i32.const 10 + i32.const 3 + i32.const 62 + i32.const 13440 + call $~lib/rt/__newArray local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - i64.load - i64.store32 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + local.get $6 + i32.store offset=16 + local.get $6 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:std/typedarray + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -65664,2637 +50138,2425 @@ i64.const 0 i64.store global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=24 + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + drop + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + drop + global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT + i32.const 1 + i32.eq + drop + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT + i32.const 2 + i32.eq + drop + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.const 2 + i32.eq + drop + global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + drop + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + drop + global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + drop + global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + drop + global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT + i32.const 4 + i32.eq + drop + global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT + i32.const 8 + i32.eq + drop + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 288 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 432 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace i32.const 0 - i32.store offset=8 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $0 i32.const 0 - drop - local.get $3 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 95 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 96 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s + local.get $0 + i32.load offset=8 + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 97 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 + local.get $0 i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 i32.eq - if (result i32) - i32.const 2 - i32.const 3 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + local.get $0 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 99 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 + local.get $0 i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 100 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.tee $0 + i32.store + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 105 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $11 - i32.trunc_f64_u - else - i32.const 0 - end - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 106 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 2 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $0 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + local.get $0 + call $~lib/typedarray/Float64Array#get:length + i32.const 4 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 122 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 2 + i32.const 8 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 123 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s + local.get $0 + i32.load offset=8 + i32.const 4 + i32.const 8 + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 124 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq + local.get $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#sort@varargs + drop + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq if (result i32) - i32.const 2 - i32.const 0 - i32.eq + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq else i32.const 0 end if (result i32) + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + else i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz + end + if (result i32) + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq else i32.const 0 end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_u - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $0 i32.const 0 - drop - local.get $3 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 i32.const 0 - i32.lt_s + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 0 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 135 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 136 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 255 i32.eq - if (result i32) - i32.const 2 - i32.const 1 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 137 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + drop + local.get $0 + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 704 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 149 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $0 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 + local.get $0 + i32.const 5 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i32.load16_s - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 15 + i32.const 784 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 i32.const 0 - i32.store offset=8 + i32.const -3 + call $~lib/typedarray/Int8Array#fill + drop + local.get $0 + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 816 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.tee $5 - i32.store + i32.const 2 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill + drop + local.get $0 + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 848 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + local.get $8 i32.store offset=4 - local.get $2 - local.set $3 + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 158 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int8Array#fill drop - local.get $3 + local.get $0 + i32.const 5 i32.const 0 - i32.lt_s + i32.const 15 + i32.const 880 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 161 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s + local.get $2 + i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int8Array#fill + drop + local.get $2 + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 165 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 i32.eq - if (result i32) - i32.const 2 - i32.const 0 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 166 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + local.get $2 + i32.load offset=8 + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 167 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.load8_s - i32.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $2 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 + i32.const 15 + i32.const 912 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 168 + i32.const 3 + call $~lib/builtins/abort + unreachable + end local.get $0 - local.set $6 + i32.const 5 + i32.const 0 + i32.const 15 + i32.const 944 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + local.get $8 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 169 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $2 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $2 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 + call $~lib/typedarray/Int32Array#__set + local.get $2 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 + i32.const 4 + call $~lib/typedarray/Int32Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + drop local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 5 i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 - i32.store offset=16 - local.get $3 - local.set $6 + i32.const 16 + i32.const 976 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill + drop + local.get $2 + i32.const 5 i32.const 2 - i32.const 66 - i32.const 11168 + i32.const 16 + i32.const 1024 call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $3 - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 10 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + drop + local.get $2 + i32.const 5 i32.const 2 - i32.const 66 - i32.const 11280 + i32.const 16 + i32.const 1072 call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 10 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 i32.const 2 - i32.const 66 - i32.const 11344 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - i32.const 1 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + local.get $2 + i32.const 5 i32.const 2 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $3 - local.set $6 + i32.const 16 + i32.const 1120 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 10 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 190 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + drop + local.get $2 + i32.const 5 i32.const 2 - i32.const 66 - i32.const 11408 + i32.const 16 + i32.const 1168 call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $3 - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + i32.const 1 i32.const 4 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + call $~lib/typedarray/Int32Array#subarray + local.tee $1 + i32.store offset=12 + local.get $1 i32.const 0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#fill drop - local.get $3 - local.set $6 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 3 + i32.const 2 + i32.const 16 + i32.const 1216 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - i32.const 10 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const 5 i32.const 2 - i32.const 66 - i32.const 11472 + i32.const 16 + i32.const 1248 call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.set $8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 201 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store offset=12 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $1 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 - i32.store offset=4 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $2 + i32.store offset=8 local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 222 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $2 + call $~lib/typedarray/Int8Array#get:length + i32.const 5 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 223 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 225 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 i32.eq - if (result i32) + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 228 i32.const 3 - i32.const 2 - i32.eq - else + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/typedarray/Int8Array#get:length + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 229 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load offset=8 + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 231 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + local.get $0 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $3 + i32.store offset=16 + local.get $3 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i64.load32_s - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 234 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 235 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.load offset=8 + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i32) - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 3 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Int32Array#__set + local.get $3 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer + local.get $3 i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $0 i32.store - local.get $0 - local.set $7 + local.get $3 + i32.const 0 + i32.const 3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Int64Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $7 + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1296 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual i32.eqz if i32.const 0 i32.const 544 - i32.const 735 + i32.const 248 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Int64Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i64.ne - if - i32.const 11648 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i64_s - local.get $6 - f64.convert_i64_s - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 1 + i32.const 3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1344 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) + local.get $0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 1 + i32.const 2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1392 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 252 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.store offset=8 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 2 + i32.const 2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1440 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + local.get $8 i32.store offset=4 - local.get $2 - local.set $3 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 254 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - drop + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 local.get $3 i32.const 0 - i32.lt_s + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1488 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 256 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length + local.get $0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 local.get $3 - i32.add - local.get $5 - local.set $12 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1536 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 258 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.eq - if (result i32) - i32.const 3 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1584 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 260 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + i32.const 0 + i32.const -2 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1632 + call $~lib/rt/__newArray local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $11 - i64.trunc_f32_s - else - i64.const 0 - end - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 262 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + local.get $0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1680 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 264 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - i32.store offset=8 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 + local.get $3 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1728 + call $~lib/rt/__newArray + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 + local.get $8 i32.store offset=4 - local.get $2 - local.set $3 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 0 - drop + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 local.get $3 - i32.const 0 - i32.lt_s + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1776 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 268 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int64Array#get:length + local.get $0 + i32.const 0 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $3 + i32.store offset=16 local.get $3 - i32.add - local.get $5 - local.set $6 + i32.const -4 + i32.const -3 + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#copyWithin + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $8 + i32.store offset=20 + local.get $8 + i32.const 5 + i32.const 2 + i32.const 16 + i32.const 1824 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/isInt32ArrayEqual + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 270 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $3 + i32.store offset=16 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 i32.eq - if (result i32) - i32.const 3 - i32.const 3 - i32.eq - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 282 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 283 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 i32.load offset=8 - call $~lib/memory/memory.copy - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) - global.get $~lib/memory/__stack_pointer i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 284 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 + local.get $0 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice + local.tee $2 i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 287 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $2 i32.const 1 - i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 i32.eq - if (result i32) - i32.const 3 + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 288 i32.const 3 - i32.eq - else + call $~lib/builtins/abort + unreachable + end + local.get $2 + call $~lib/typedarray/Int32Array#get:length + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable end - if (result i32) + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + i32.const 544 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.load offset=8 + i32.const 8 + i32.eq + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $1 + i32.store offset=12 + local.get $1 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $11 - i64.trunc_f64_s - else - i64.const 0 - end - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.store offset=8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.load offset=8 + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 297 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s + global.get $~lib/builtins/i32.MAX_VALUE + call $~lib/typedarray/Int32Array#slice + local.tee $4 + i32.store offset=24 + local.get $4 + local.get $0 + i32.ne + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 300 + i32.const 3 call $~lib/builtins/abort unreachable end local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + call $~lib/typedarray/Int32Array#get:length + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 301 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.eq - if (result i32) - i32.const 3 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i64.load8_u - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + i32.load offset=8 + local.get $0 + i32.load offset=8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store offset=12 local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 + f64.const nan:0x8000000000000 + call $~lib/typedarray/Float64Array#__set + local.get $1 + f64.const nan:0x8000000000000 i32.const 0 - i32.lt_s + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 630 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $1 + f64.const nan:0x8000000000000 + i32.const 0 + call $~lib/typedarray/Float64Array#includes + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 631 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 1 - i32.const 1 + call $~lib/typedarray/Float32Array#constructor + local.tee $4 + i32.store offset=24 + local.get $4 + i32.const 0 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + local.get $4 + f32.const nan:0x400000 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 i32.eq - if (result i32) - i32.const 3 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else + i32.eqz + if i32.const 0 + i32.const 544 + i32.const 636 + i32.const 3 + call $~lib/builtins/abort + unreachable end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 + f32.const nan:0x400000 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i64.load16_s - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer + call $~lib/typedarray/Float32Array#includes i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store + i32.ne + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 637 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 + i32.const 2 + global.set $~argumentsLength i32.const 0 - i32.lt_s + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $4 + i32.store offset=24 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + i32.const 0 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 0 + i32.const 544 + i32.const 714 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 0 + i32.const 2 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - i32.gt_s + local.get $1 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $4 + i32.store offset=24 + local.get $4 + call $~lib/typedarray/Uint8Array#get:length + i32.const 0 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 + i32.const 0 + i32.const 544 + i32.const 718 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> + call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i64.load8_s - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $4 + i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor + call $~lib/typedarray/Float32Array#constructor local.tee $1 - i32.store offset=8 + i32.store offset=12 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + f32.const 400 + call $~lib/typedarray/Float32Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + f32.const inf + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + i32.const 4 + call $~lib/typedarray/Int64Array#constructor local.tee $2 - i32.store offset=12 + i32.store offset=8 local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + i64.const -10 + call $~lib/typedarray/Int64Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + i64.const 100 + call $~lib/typedarray/Int64Array#__set local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i64.const 10 + call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.const 3 + i64.const 300 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 - call $~lib/typedarray/Int64Array#constructor + i32.const 2 + call $~lib/typedarray/Int32Array#constructor local.tee $3 i32.store offset=16 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11536 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11696 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + i32.const 300 + call $~lib/typedarray/Int32Array#__set local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11808 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> i32.const 1 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 2 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> + i32.const -1 + call $~lib/typedarray/Int32Array#__set + local.get $4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> + local.get $4 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $4 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> + local.get $4 i32.const 10 - i32.const 3 - i32.const 67 - i32.const 11920 + i32.const 0 + i32.const 63 + i32.const 13552 call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 + local.get $8 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 4 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 + call $~lib/typedarray/Uint32Array#constructor + local.tee $5 + i32.store offset=28 + local.get $5 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $5 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + local.get $5 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + local.get $5 + i32.const 3 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 0 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 4 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store + local.get $0 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + local.get $0 + i32.const 2 i32.const 10 + call $~lib/typedarray/Int16Array#__set + local.get $0 i32.const 3 - i32.const 67 - i32.const 12032 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + local.get $4 + local.get $5 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> + local.get $4 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $4 + i32.const 10 + i32.const 0 + i32.const 63 + i32.const 13584 call $~lib/rt/__newArray - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $8 + i32.store offset=4 + local.get $8 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__heap_base + global.set $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + local.get $0 i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer + call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 i32.const 0 - drop - local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $0 i32.const 0 - i32.lt_s + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $1 + i32.const 1073741820 + local.get $2 + i32.shr_u + i32.gt_u if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 + i32.const 32 + i32.const 80 + i32.const 18 + i32.const 57 call $~lib/builtins/abort unreachable end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 + local.get $1 + local.get $2 i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + local.tee $1 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i64.load32_s - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int8Array#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68304,694 +52566,381 @@ i32.const 0 i32.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Uint64Array#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq i32.eqz if - i32.const 0 - i32.const 544 - i32.const 735 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $3 - loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 - local.get $4 - if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Uint64Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 - local.get $5 - local.get $6 - i64.ne - if - i32.const 12256 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.convert_i64_u - local.get $6 - f64.convert_i64_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 - end + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 3 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - f32.load - local.set $11 - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $11 - local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $11 - i64.trunc_f32_u - else - i64.const 0 - end - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s + i32.store + local.get $0 + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $4 - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Int64Array#get:length - local.get $3 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $5 - local.set $6 + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int16Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 f64) - (local $12 i32) + (func $~lib/typedarray/Uint16Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 + local.get $1 + i32.const 1 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 + ) + (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s + i32.store + local.get $0 + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $4 - local.set $12 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + local.get $0 + local.get $1 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 0 - i32.eq - if (result i32) - i32.const 3 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl + i32.const 4 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $12 + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint32Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/array/Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $7 - local.get $9 - i32.const 3 - i32.shl - i32.add - f64.load - local.set $11 - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $11 - local.get $11 - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $11 - i64.trunc_f64_u - else - i64.const 0 - end - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $0 + local.get $1 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) + (func $~lib/typedarray/Int64Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 + local.get $1 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 + ) + (func $~lib/typedarray/Uint64Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s + i32.store + local.get $0 + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + local.get $0 + local.get $1 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float64Array#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i64.load8_u - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $0 + local.get $1 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -68999,159 +52948,122 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 + local.set $5 local.get $1 - local.tee $4 - i32.store offset=4 + local.set $4 local.get $2 local.set $3 - i32.const 0 - drop - local.get $3 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + local.get $4 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq if (result i32) - i32.const 3 - i32.const 1 - i32.eq - else + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select else - i32.const 0 + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - drop + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load + local.set $8 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 local.get $5 i32.load offset=4 - local.get $3 - i32.const 3 + local.get $4 + i32.const 2 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 + i32.store offset=4 + local.get $7 + local.get $3 local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + i32.sub + i32.const 2 + i32.shl i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 - i32.const 0 + local.get $7 local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 1 - i32.shl - i32.add - i64.load16_s - i64.store - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -69159,487 +53071,454 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 + local.set $5 local.get $1 - local.tee $4 - i32.store offset=4 + local.set $4 local.get $2 local.set $3 - i32.const 0 - drop - local.get $3 + local.get $5 + call $~lib/typedarray/Float64Array#get:length + local.set $6 + local.get $4 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq if (result i32) - i32.const 3 + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.eq + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select else - i32.const 0 + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select else - i32.const 0 + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - drop + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load + local.set $8 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 local.get $5 i32.load offset=4 - local.get $3 + local.get $4 i32.const 3 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 + i32.store offset=4 + local.get $7 + local.get $3 local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + i32.sub + i32.const 3 + i32.shl i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 + local.get $7 local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Float64Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - drop + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 0 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add - local.get $7 - local.get $9 - i32.const 0 - i32.shl - i32.add - i64.load8_s - i64.store - local.get $9 i32.const 1 - i32.add - local.set $9 - br $for-loop|0 + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 672 + br $~lib/util/sort/COMPARATOR|inlined.0 end + local.tee $1 + i32.store end + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + local.get $1 + i32.shl + local.set $4 global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 + local.get $3 + call $~lib/rt/__newBuffer + local.tee $5 + i32.store + i32.const 16 + local.get $2 + call $~lib/rt/itcms/__new local.set $6 - global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=4 + local.get $5 + i32.store local.get $6 + local.get $5 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link local.get $6 + local.get $5 i32.store offset=4 local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 local.get $6 - i32.store offset=4 + local.get $0 + i32.store offset=12 local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/typedarray/Int8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $6 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int8Array#get:length local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store offset=16 + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $3 local.get $3 - local.set $6 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 + i32.const 12 i32.const 3 - i32.const 68 - i32.const 12144 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load + local.set $8 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> + local.get $7 local.get $3 - local.set $6 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12304 - call $~lib/rt/__newArray - local.set $6 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 - local.set $6 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.const 0 + i32.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12416 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - i32.const 1 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 2 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12528 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.set $5 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.set $4 local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int32Array#get:length local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 4 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $4 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> i32.const 0 - drop + i32.lt_s + if (result i32) + local.get $3 + local.get $6 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $3 local.get $3 + local.get $4 + i32.sub + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select local.set $6 global.get $~lib/memory/__stack_pointer + i32.const 0 local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12640 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 + call $~lib/typedarray/Int32Array#constructor + local.tee $7 + i32.store + local.get $7 + i32.load offset=4 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + i32.const 2 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -69650,144 +53529,67 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length + call $~lib/typedarray/Int8Array#get:length + local.set $4 local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 i32.load offset=4 - local.get $3 - i32.const 2 + local.set $5 + local.get $4 + i32.const 0 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 - i32.const 2 + i32.const 0 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 - i32.const 2 + i32.const 0 i32.shl i32.add + i32.load8_s + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 i32.load - f32.convert_i32_s - f32.store + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 local.get $9 i32.const 1 i32.add @@ -69795,225 +53597,231 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint8Array#map (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) - (local $6 f32) + (local $5 i32) + (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Float32Array#get:length - local.set $2 - local.get $2 + local.set $3 local.get $1 - local.set $7 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 0 + i32.shl + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $7 i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $6 i32.const 0 - local.set $3 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 + local.get $9 local.get $4 + i32.lt_s + local.set $10 + local.get $10 if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Float32Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 + local.get $8 + local.get $9 + i32.const 0 + i32.shl + i32.add local.get $5 - local.get $6 - f32.ne - if - i32.const 12816 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - f64.promote_f32 - local.get $6 - f64.promote_f32 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end + local.get $9 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $9 local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $9 i32.const 1 i32.add - local.set $3 + local.set $9 br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 local.get $4 + i32.const 0 + i32.shl local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $6 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=8 - local.get $6 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 - i32.eq - if (result i32) - i32.const 2 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $8 + local.get $9 i32.const 0 - else + i32.shl + i32.add + local.get $5 + local.get $9 i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store8 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.eqz - else - i32.const 0 end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.load offset=4 - local.get $4 - i32.load offset=8 - call $~lib/memory/memory.copy + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -70024,144 +53832,67 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length + call $~lib/typedarray/Int16Array#get:length + local.set $4 local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 i32.load offset=4 - local.get $3 - i32.const 2 + local.set $5 + local.get $4 + i32.const 1 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.set $8 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 - i32.const 2 + i32.const 1 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load - f32.convert_i64_s - f32.store + i32.load16_s + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store16 local.get $9 i32.const 1 i32.add @@ -70169,12 +53900,29 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -70185,144 +53933,168 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $7 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $6 i32.const 0 - drop - local.get $3 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $8 + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $9 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store16 + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 + local.get $7 local.set $11 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + ) + (func $~lib/typedarray/Int32Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.set $3 + local.get $1 + local.set $2 local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 i32.const 2 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.set $8 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 - i32.const 0 + i32.const 2 i32.shl i32.add - i32.load8_u - f32.convert_i32_u - f32.store + i32.load + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store local.get $9 i32.const 1 i32.add @@ -70330,12 +54102,29 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint32Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -70346,144 +54135,67 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length + call $~lib/typedarray/Uint32Array#get:length + local.set $4 local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 i32.load offset=4 - local.get $3 + local.set $5 + local.get $4 i32.const 2 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.set $8 + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 i32.const 2 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s - f32.convert_i32_s - f32.store + i32.load + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + i32.store local.get $9 i32.const 1 i32.add @@ -70491,12 +54203,29 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int64Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -70507,144 +54236,67 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length + call $~lib/typedarray/Int64Array#get:length + local.set $4 local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 2 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 i32.load offset=4 - local.get $3 - i32.const 2 + local.set $5 + local.get $4 + i32.const 3 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 - i32.const 0 + i32.const 3 i32.shl i32.add - i32.load8_s - f32.convert_i32_s - f32.store + i64.load + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i64) + i64.store local.get $9 i32.const 1 i32.add @@ -70652,309 +54304,130 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#map (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set + local.set $3 local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store offset=16 - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> + local.set $2 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12752 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + call $~lib/typedarray/Uint64Array#get:length + local.set $4 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + i32.load offset=4 + local.set $5 + local.get $4 i32.const 3 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12864 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12928 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - i32.const 0 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 4 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 2 - i32.const 61 - i32.const 12992 - call $~lib/rt/__newArray + i32.shl local.set $6 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store offset=20 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $8 + local.get $9 + i32.const 3 + i32.shl + i32.add + local.get $5 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i64) + i64.store + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float32Array#map (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -70965,144 +54438,67 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length + call $~lib/typedarray/Float32Array#get:length + local.set $4 local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 i32.load offset=4 - local.get $3 - i32.const 3 + local.set $5 + local.get $4 + i32.const 2 i32.shl - i32.add local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 - local.get $4 - local.set $11 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $8 local.get $9 - i32.const 3 + i32.const 2 i32.shl i32.add - local.get $7 + local.get $5 local.get $9 i32.const 2 i32.shl i32.add + f32.load + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 i32.load - f64.convert_i32_s - f64.store + call_indirect (type $f32_i32_i32_=>_f32) + f32.store local.get $9 i32.const 1 i32.add @@ -71110,121 +54506,130 @@ br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#map (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) - (local $6 f64) + (local $5 i32) + (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + i64.const 0 + i64.store local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - call $~lib/typedarray/Float64Array#get:length - local.set $2 - local.get $2 + local.set $3 local.get $1 - local.set $7 + local.set $2 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $4 + local.get $3 + i32.load offset=4 + local.set $5 + local.get $4 + i32.const 3 + i32.shl + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $7 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $7 i32.store - local.get $7 - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 735 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $6 i32.const 0 - local.set $3 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + i32.const 0 + local.set $9 loop $for-loop|0 - local.get $3 - local.get $2 - i32.lt_s - local.set $4 + local.get $9 local.get $4 + i32.lt_s + local.set $10 + local.get $10 if - local.get $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/typedarray/Float64Array#__uget - local.set $5 - local.get $1 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - local.get $3 - call $~lib/array/Array#__uget - local.set $6 + local.get $8 + local.get $9 + i32.const 3 + i32.shl + i32.add local.get $5 - local.get $6 - f64.ne - if - i32.const 13168 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store - local.get $7 - i32.const 3 - local.get $3 - f64.convert_i32_s - local.get $5 - local.get $6 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 741 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.get $9 local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_f64) + f64.store + local.get $9 i32.const 1 i32.add - local.set $3 + local.set $9 br $for-loop|0 end end + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $8 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=8 + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $11 ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int8Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -71234,145 +54639,80 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Int8Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $4 i32.const 0 + i32.shl i32.const 0 - i32.eq - if (result i32) - i32.const 3 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 - local.get $4 i32.load offset=4 local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.set $8 - i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 0 - drop - i32.const 1 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add + i32.const 0 + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if local.get $7 local.get $9 - i32.const 2 + i32.const 0 i32.shl i32.add - f32.load - f64.promote_f32 - f64.store + i32.load8_s + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.store8 + end local.get $9 i32.const 1 i32.add @@ -71380,12 +54720,37 @@ br $for-loop|0 end end + local.get $8 + i32.const 0 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -71395,145 +54760,80 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Uint8Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $4 i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 3 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 i32.shl - i32.add - local.set $6 - local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int64Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 + local.get $7 local.get $9 - i32.const 3 + i32.const 0 i32.shl i32.add - local.get $7 + i32.load8_u + local.set $11 + local.get $11 local.get $9 + local.get $3 i32.const 3 - i32.shl - i32.add - i64.load - f64.convert_i64_s - f64.store + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.store8 + end local.get $9 i32.const 1 i32.add @@ -71541,12 +54841,37 @@ br $for-loop|0 end end + local.get $8 + i32.const 0 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -71556,145 +54881,80 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end + local.get $4 i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 i32.shl - i32.add - local.set $6 - local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Uint8Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add local.get $7 local.get $9 i32.const 0 i32.shl i32.add i32.load8_u - f64.convert_i32_u - f64.store + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 0 + i32.shl + i32.add + local.get $11 + i32.store8 + end local.get $9 i32.const 1 i32.add @@ -71702,12 +54962,37 @@ br $for-loop|0 end end + local.get $8 + i32.const 0 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Int16Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -71717,145 +55002,80 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 - i32.const 0 - drop - local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 1 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 + i64.const 0 + i64.store + local.get $0 + local.set $3 + local.get $1 + local.set $2 local.get $3 - i32.const 3 - i32.shl - i32.add - local.set $6 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 + i32.const 1 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Int16Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add local.get $7 local.get $9 i32.const 1 i32.shl i32.add i32.load16_s - f64.convert_i32_s - f64.store + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end local.get $9 i32.const 1 i32.add @@ -71863,12 +55083,37 @@ br $for-loop|0 end end + local.get $8 + i32.const 1 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -71878,145 +55123,80 @@ (local $9 i32) (local $10 i32) (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $11 + call $~lib/typedarray/Uint16Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $11 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 0 + local.get $4 i32.const 1 - i32.eq - if (result i32) - i32.const 3 - i32.const 0 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 0 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 3 i32.shl - i32.add - local.set $6 - local.get $4 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $11 - global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store offset=8 - local.get $11 - call $~lib/array/Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 0 - drop - i32.const 0 - if (result i32) - i32.const 1 - i32.eqz - else - i32.const 0 - end - drop - i32.const 1 - if (result i32) - i32.const 0 - i32.eqz - else - i32.const 0 - end - drop - local.get $6 - local.get $9 - i32.const 3 - i32.shl - i32.add local.get $7 local.get $9 - i32.const 0 + i32.const 1 i32.shl i32.add - i32.load8_s - f64.convert_i32_s - f64.store + i32.load16_u + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 1 + i32.shl + i32.add + local.get $11 + i32.store16 + end local.get $9 i32.const 1 i32.add @@ -72024,309 +55204,400 @@ br $for-loop|0 end end + local.get $8 + i32.const 1 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#filter (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store offset=8 - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set + local.set $3 local.get $1 - local.set $6 + local.set $2 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + local.get $4 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i32.shl i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/rt/itcms/__new + local.tee $6 i32.store offset=4 - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store offset=16 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource1 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 + i32.load offset=4 + local.set $7 i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13056 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.store + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + local.get $8 + i32.const 2 + i32.shl + local.set $9 local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource2 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 3 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $3 - local.set $6 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13216 - call $~lib/rt/__newArray - local.set $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + ) + (func $~lib/typedarray/Uint32Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $3 - local.set $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 + i64.const 0 + i64.store local.get $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 6 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> + local.set $3 + local.get $1 + local.set $2 local.get $3 - local.set $6 + call $~lib/typedarray/Uint32Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - i32.const 10 - i32.const 3 - i32.const 62 - i32.const 13328 - call $~lib/rt/__newArray - local.set $6 + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $4 + i32.const 2 + i32.shl i32.const 0 - drop + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer + i32.load offset=4 + local.set $7 + i32.const 0 + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $7 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 2 + i32.shl + i32.add + local.get $11 + i32.store + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + local.get $8 + i32.const 2 + i32.shl + local.set $9 local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 i32.store offset=4 - local.get $6 - local.get $1 - local.set $6 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> - local.get $3 - local.set $6 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + ) + (func $~lib/typedarray/Int64Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i64) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - local.get $2 - local.set $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 4 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> + i64.const 0 + i64.store + local.get $0 + local.set $3 + local.get $1 + local.set $2 local.get $3 - local.set $6 + call $~lib/typedarray/Int64Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=4 - local.get $6 - global.get $std/typedarray/setSource7 - local.set $6 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 - local.get $6 - i32.const 7 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> + local.get $4 + i32.const 3 + i32.shl i32.const 0 - drop - local.get $3 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 + call $~lib/rt/itcms/__new + local.tee $6 i32.store offset=4 - local.get $6 - i32.const 10 + local.get $3 + i32.load offset=4 + local.set $7 + i32.const 0 + local.set $8 + i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $7 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i64.store + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + local.get $8 i32.const 3 - i32.const 62 - i32.const 13440 - call $~lib/rt/__newArray - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store offset=20 + i32.shl + local.set $9 local.get $6 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint64Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -72335,120 +55606,173 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 f32) + (local $11 i64) (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 + local.set $3 + local.get $1 + local.set $2 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new local.tee $5 i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 - local.set $3 + local.get $4 + i32.const 3 + i32.shl i32.const 0 - drop + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 local.get $3 + i32.load offset=4 + local.set $7 i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Float32Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 + local.set $8 i32.const 0 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 0 - else - i32.const 0 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $4 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $7 + local.get $9 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $11 + local.get $11 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $i64_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + i64.store + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 end - i32.eqz - else - i32.const 0 end - drop + local.get $8 + i32.const 3 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 local.get $5 - i32.load offset=4 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + ) + (func $~lib/typedarray/Float32Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 f32) + (local $12 i32) + (local $13 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.set $3 + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 + call $~lib/typedarray/Float32Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 + i32.const 2 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Float32Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 1 - drop - i32.const 1 - drop local.get $7 local.get $9 i32.const 2 @@ -72456,27 +55780,28 @@ i32.add f32.load local.set $11 - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 local.get $11 - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f32_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 2 + i32.shl + i32.add local.get $11 - f32.min - f32.max - i32.trunc_f32_u - else - i32.const 0 + f32.store end - i32.store8 local.get $9 i32.const 1 i32.add @@ -72484,12 +55809,37 @@ br $for-loop|0 end end + local.get $8 + i32.const 2 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Float64Array#filter (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -72498,153 +55848,81 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) + (local $11 f64) (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $5 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - local.tee $4 - i32.store offset=4 - local.get $2 local.set $3 - i32.const 0 - drop + local.get $1 + local.set $2 local.get $3 - i32.const 0 - i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $12 + call $~lib/typedarray/Float64Array#get:length + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int32Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $12 + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq - if (result i32) - i32.const 0 - i32.const 2 - i32.eq - else - i32.const 0 - end - if (result i32) - i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 0 - end - i32.eqz - else - i32.const 0 - end - drop - local.get $5 - i32.load offset=4 - local.get $3 - i32.const 0 - i32.shl - i32.add - local.set $6 local.get $4 + i32.const 3 + i32.shl + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store offset=4 + local.get $3 i32.load offset=4 local.set $7 - local.get $4 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store offset=8 - local.get $12 - call $~lib/typedarray/Int32Array#get:length + i32.const 0 local.set $8 i32.const 0 local.set $9 loop $for-loop|0 local.get $9 - local.get $8 + local.get $4 i32.lt_s local.set $10 local.get $10 if - i32.const 1 - drop - i32.const 0 - drop local.get $7 local.get $9 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load + f64.load local.set $11 - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - local.get $11 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $11 - i32.sub - i32.const 31 - i32.shr_s local.get $11 - i32.or - i32.and - i32.store8 + local.get $9 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $2 + i32.load + call_indirect (type $f64_i32_i32_=>_i32) + if + local.get $6 + local.get $8 + local.tee $12 + i32.const 1 + i32.add + local.set $8 + local.get $12 + i32.const 3 + i32.shl + i32.add + local.get $11 + f64.store + end local.get $9 i32.const 1 i32.add @@ -72652,12 +55930,36 @@ br $for-loop|0 end end + local.get $8 + i32.const 3 + i32.shl + local.set $9 + local.get $6 + local.get $9 + call $~lib/rt/itcms/__renew + local.set $10 + local.get $5 + local.get $10 + i32.store + local.get $5 + local.get $10 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $9 + i32.store offset=8 + local.get $5 + local.get $10 + i32.store offset=4 + local.get $5 + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -72665,3567 +55967,4201 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.tee $5 i32.store - global.get $~lib/memory/__stack_pointer + local.get $0 + local.set $5 local.get $1 - local.tee $4 - i32.store offset=4 + local.set $4 local.get $2 local.set $3 - i32.const 0 - drop - local.get $3 + local.get $5 + call $~lib/typedarray/Uint8Array#get:length + local.set $6 + local.get $4 i32.const 0 i32.lt_s - if - i32.const 336 - i32.const 608 - i32.const 1864 - i32.const 19 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store offset=8 - local.get $14 - call $~lib/typedarray/Uint32Array#get:length - local.get $3 - i32.add - local.get $5 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store offset=8 - local.get $14 - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - if - i32.const 336 - i32.const 608 - i32.const 1865 - i32.const 47 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1 - i32.eq if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 2 - i32.eq + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select else - i32.const 0 + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s if (result i32) - i32.const 1 - if (result i32) - i32.const 0 - else - i32.const 0 - end - i32.eqz - else + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - drop + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load + local.set $8 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 local.get $5 i32.load offset=4 - local.get $3 + local.get $4 i32.const 0 i32.shl i32.add - local.set $6 - local.get $4 - i32.load offset=4 - local.set $7 + i32.store offset=4 + local.get $7 + local.get $3 local.get $4 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store offset=8 - local.get $14 - call $~lib/typedarray/Uint32Array#get:length - local.set $8 + i32.sub i32.const 0 - local.set $9 - loop $for-loop|0 - local.get $9 - local.get $8 - i32.lt_s - local.set $10 - local.get $10 - if - i32.const 1 - drop - i32.const 0 - drop - local.get $7 - local.get $9 - i32.const 2 - i32.shl - i32.add - i32.load - local.set $11 - i32.const 0 - i32.eqz - drop - local.get $6 - local.get $9 - i32.const 0 - i32.shl - i32.add - i32.const 255 - local.tee $12 - local.get $11 - local.tee $13 - local.get $12 - local.get $13 - i32.lt_u - select - i32.store8 - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|0 - end - end + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $start:std/typedarray - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=8 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=16 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store offset=24 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store offset=32 - global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - drop - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - drop - global.get $~lib/typedarray/Uint8ClampedArray.BYTES_PER_ELEMENT - i32.const 1 - i32.eq - drop - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - drop - global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT - i32.const 2 - i32.eq - drop - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - drop - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - drop - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - drop - global.get $~lib/typedarray/Uint64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - drop - global.get $~lib/typedarray/Float32Array.BYTES_PER_ELEMENT - i32.const 4 - i32.eq - drop - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.const 8 - i32.eq - drop - memory.size - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 256 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 288 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 432 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - call $std/typedarray/testInstantiate - i32.const 5 - call $std/typedarray/testInstantiate - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 95 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $6 + local.get $4 i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.set $4 + local.get $3 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 local.get $8 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $0 i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 0 + i32.shl + i32.add i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 0 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 - i32.const 1 i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Int16Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + local.get $4 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 local.get $8 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + i32.const 12 i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $0 i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 1 + i32.shl + i32.add i32.store offset=4 - local.get $8 - call $~lib/typedarray/Float64Array#get:length + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 1 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 122 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Uint16Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 2 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 123 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 i32.const 4 - i32.const 8 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 124 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Float64Array#sort@varargs - drop + i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint16Array#get:length + local.set $6 + local.get $4 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq + i32.lt_s if (result i32) - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - end - if (result i32) - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.tee $8 + local.get $7 local.get $8 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq + i32.gt_s + select else - i32.const 0 + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s if (result i32) - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 local.get $8 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq + i32.gt_s + select else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $7 i32.store - local.get $0 + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 - i32.store offset=4 + i32.store + local.get $7 local.get $8 i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 1 + i32.shl + i32.add i32.store offset=4 - local.get $8 + local.get $7 + local.get $3 + local.get $4 + i32.sub i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $8 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $0 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Uint32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint32Array#get:length + local.set $6 + local.get $4 i32.const 0 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 135 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.eq - i32.eqz - if + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 136 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load + local.set $8 + local.get $7 local.get $8 - i32.store offset=4 + i32.store + local.get $7 local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.eq - i32.eqz - if + i32.shl + i32.add + i32.store offset=4 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 2 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Int64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + local.get $4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 137 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select + end + local.set $4 + local.get $3 + i32.const 0 + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $7 i32.store - local.get $0 + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 - i32.store offset=4 + i32.store + local.get $7 local.get $8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + i32.shl + i32.add i32.store offset=4 - local.get $8 + local.get $7 + local.get $3 + local.get $4 + i32.sub i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $8 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill - drop - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 704 - call $~lib/rt/__newArray - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Uint64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 149 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - drop + i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/typedarray/Uint64Array#get:length + local.set $6 + local.get $4 i32.const 0 - i32.const 15 - i32.const 784 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 152 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - drop - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 + local.set $4 + local.get $3 i32.const 0 - i32.const 15 - i32.const 816 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 155 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - drop - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 local.get $8 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 848 - call $~lib/rt/__newArray - local.set $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 158 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 - i32.store offset=4 + i32.store + local.get $7 local.get $8 i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - drop - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 0 - i32.const 15 - i32.const 880 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $7 + local.get $3 + local.get $4 + i32.sub + i32.const 3 + i32.shl i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Float32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int8Array#fill - drop - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 165 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 166 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load offset=8 - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 167 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 + local.set $3 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + local.set $6 + local.get $4 i32.const 0 - i32.const 15 - i32.const 912 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $4 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 168 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $4 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 + local.set $4 + local.get $3 i32.const 0 - i32.const 15 - i32.const 944 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if + i32.lt_s + if (result i32) + local.get $6 + local.get $3 + i32.add + local.tee $7 i32.const 0 - i32.const 544 - i32.const 169 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $3 + local.tee $8 + local.get $6 + local.tee $7 + local.get $8 + local.get $7 + i32.lt_s + select end + local.set $3 + local.get $3 + local.tee $7 + local.get $4 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $5 + i32.load local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $7 local.get $8 - i32.store offset=4 + i32.store + local.get $7 local.get $8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 + call $~lib/rt/itcms/__link + local.get $7 + local.get $5 + i32.load offset=4 + local.get $4 i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + i32.shl + i32.add i32.store offset=4 - local.get $8 + local.get $7 + local.get $3 + local.get $4 + i32.sub i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - local.set $8 + i32.shl + i32.store offset=8 + local.get $7 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $2 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/util/number/itoa32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - drop - local.get $2 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 + i32.const 0 + i32.store + local.get $1 i32.const 2 - i32.const 16 - i32.const 976 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 181 - i32.const 3 + i32.const 6080 + i32.const 6208 + i32.const 373 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - drop - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1024 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual + local.get $0 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6272 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return end + local.get $0 + i32.const 31 + i32.shr_u + local.set $2 local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - drop - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1072 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz if i32.const 0 - i32.const 544 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.sub + local.set $0 end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - drop - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1120 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $1 + i32.const 10 + i32.eq if + local.get $0 + call $~lib/util/number/decimalCount32 + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $7 + local.get $0 + local.set $6 + local.get $4 + local.set $5 i32.const 0 - i32.const 544 - i32.const 190 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut + else + local.get $1 + i32.const 16 + i32.eq + if + i32.const 31 + local.get $0 + i32.clz + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.get $2 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $7 + local.get $0 + local.set $6 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + i64.extend_i32_u + local.get $5 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + local.set $4 + local.get $4 + i64.extend_i32_u + local.get $1 + call $~lib/util/number/ulog_base + local.get $2 + i32.add + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $4 + i64.extend_i32_u + local.get $7 + local.get $1 + call $~lib/util/number/utoa64_any_core + end end local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - drop - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1168 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $3 + i32.const 45 + i32.store16 end - global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 local.set $8 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $1 - i32.store offset=16 - local.get $1 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#fill - drop - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 197 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store + local.get $0 + call $~lib/string/String#get:length + local.set $3 local.get $1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $6 + local.get $2 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + local.set $7 + local.get $6 + local.tee $4 + local.get $7 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.const 1 + i32.shl local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $6 + local.tee $5 + local.get $7 + local.tee $4 + local.get $5 + local.get $4 + i32.gt_s + select i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load offset=8 - i32.const 3 - i32.const 4 - i32.mul - i32.eq + i32.shl + local.set $9 + local.get $9 + local.get $8 + i32.sub + local.set $10 + local.get $10 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 199 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 - i32.const 2 - i32.const 16 - i32.const 1216 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 local.get $8 - call $std/typedarray/isInt32ArrayEqual i32.eqz - if + if (result i32) + local.get $9 + local.get $3 + i32.const 1 + i32.shl + i32.eq + else i32.const 0 - i32.const 544 - i32.const 200 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1248 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 201 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store offset=16 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.get $10 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store + local.get $11 + local.get $0 local.get $8 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $1 - local.set $8 + i32.add + local.get $10 + call $~lib/memory/memory.copy + local.get $11 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $1 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + i32.sub + local.set $3 + local.get $3 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 222 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - i32.const 5 - i32.eq + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 223 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.load8_s + local.set $4 + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end local.get $2 - local.set $8 + call $~lib/string/String#get:length + local.set $5 + i32.const 11 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 11 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 + local.set $8 + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 0 + i32.shl + i32.add + i32.load8_s + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 - i32.eq - i32.eqz + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $6 + local.get $8 + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 224 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $7 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $1 + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s end - local.get $2 - i32.load offset=8 - i32.const 5 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 225 - i32.const 3 + i32.const 6080 + i32.const 6208 + i32.const 350 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $0 - i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.eq i32.eqz if + i32.const 6272 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $1 + i32.const 10 + i32.eq + if + local.get $0 + call $~lib/util/number/decimalCount32 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $3 + local.set $4 i32.const 0 - i32.const 544 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + local.get $4 + call $~lib/util/number/utoa32_dec_lut + else + local.get $1 + i32.const 16 + i32.eq + if + i32.const 31 + local.get $0 + i32.clz + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $5 + local.get $3 + local.set $4 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $5 + i64.extend_i32_u + local.get $4 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + i64.extend_i32_u + local.get $1 + call $~lib/util/number/ulog_base + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + i64.extend_i32_u + local.get $3 + local.get $1 + call $~lib/util/number/utoa64_any_core + end end - local.get $0 - local.set $8 + local.get $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int8Array#get:length i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 229 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 230 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load offset=8 i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 231 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + i32.const 0 + i32.store + local.get $1 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $3 - i32.store offset=20 + i32.sub + local.set $3 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 234 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int8Array#get:length - i32.const 3 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 235 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 3 - i32.eq i32.eqz if + local.get $0 + i32.load8_u + local.set $4 i32.const 0 - i32.const 544 - i32.const 236 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 10 + local.get $5 + i32.add local.get $3 - i32.load offset=8 - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 237 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.mul + i32.const 10 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=20 - local.get $3 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $3 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $6 local.get $8 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $3 - local.set $8 + i32.gt_s + if + local.get $7 + i32.const 0 + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $3 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $3 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $0 i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 i32.const 0 - i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1296 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual + i32.lt_s + if + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 248 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.load16_s + local.set $4 + i32.const 1 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 11 + local.get $5 + i32.add local.get $3 - local.set $8 + i32.mul + i32.const 11 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 + local.get $6 i32.const 1 - i32.const 3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1344 - call $~lib/rt/__newArray + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 250 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_s + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 i32.const 1 - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.shl + i32.add + i32.load16_s + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1392 - call $~lib/rt/__newArray + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.get $6 local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 252 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const 2 - i32.const 2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1440 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 254 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1488 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual i32.eqz if + local.get $0 + i32.load16_u + local.set $4 i32.const 0 - i32.const 544 - i32.const 256 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 10 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.shl + i32.add + i32.load16_u + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1536 - call $~lib/rt/__newArray + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.get $6 local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 258 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const 1 - i32.const 2 i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1584 - call $~lib/rt/__newArray - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual + i32.const 0 + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 260 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.load + local.set $4 + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 11 + local.get $5 + i32.add local.get $3 - local.set $8 + i32.mul + i32.const 11 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store i32.const 0 - i32.const -2 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin local.set $8 - global.get $~lib/memory/__stack_pointer + i32.const 0 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1632 - call $~lib/rt/__newArray + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.get $6 local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 262 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1680 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual + i32.lt_s + if + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 i32.eqz if + local.get $0 + i32.load + local.set $4 i32.const 0 - i32.const 544 - i32.const 264 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 10 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 10 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + local.set $4 + loop $for-loop|0 + local.get $4 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $0 local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.shl + i32.add + i32.load + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1728 - call $~lib/rt/__newArray + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + local.get $6 local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 266 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $7 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 - local.get $3 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/number/itoa64 (param $0 i64) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 + i32.const 0 + i32.store + local.get $1 i32.const 2 - i32.const 16 - i32.const 1776 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 268 - i32.const 3 + i32.const 6080 + i32.const 6208 + i32.const 431 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $3 - i32.store offset=20 + i64.const 0 + i64.ne + i32.eqz + if + i32.const 6272 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $0 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.set $2 + local.get $2 + if + i64.const 0 + local.get $0 + i64.sub + local.set $0 + end + local.get $1 + i32.const 10 + i32.eq + if + local.get $0 + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $0 + i32.wrap_i64 + local.set $4 + local.get $4 + call $~lib/util/number/decimalCount32 + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $8 + local.get $4 + local.set $7 + local.get $5 + local.set $6 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $8 + local.get $7 + local.get $6 + call $~lib/util/number/utoa32_dec_lut + else + local.get $0 + call $~lib/util/number/decimalCount64High + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $7 + local.get $0 + local.set $9 + local.get $5 + local.set $6 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $9 + local.get $6 + call $~lib/util/number/utoa64_dec_lut + end + else + local.get $1 + i32.const 16 + i32.eq + if + i32.const 63 + local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.set $4 + local.get $0 + local.set $9 + local.get $5 + local.set $8 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $4 + local.get $9 + local.get $8 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + local.get $1 + call $~lib/util/number/ulog_base + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store + local.get $3 + local.get $0 + local.get $5 + local.get $1 + call $~lib/util/number/utoa64_any_core + end + end + local.get $2 + if + local.get $3 + i32.const 45 + i32.store16 + end local.get $3 - local.set $8 + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=24 - local.get $8 - i32.const -4 - i32.const -3 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#copyWithin - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 5 - i32.const 2 - i32.const 16 - i32.const 1824 - call $~lib/rt/__newArray - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/isInt32ArrayEqual + i32.const 0 + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s + if + i32.const 6048 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i64.load + local.set $4 + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.wrap_i64 + i64.extend_i32_s + i32.const 10 + call $~lib/util/number/itoa64 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 21 + local.get $5 + i32.add + local.get $3 + i32.mul + i32.const 21 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 + local.get $6 i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + i32.shl i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $0 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set + i32.const 0 + local.set $10 + loop $for-loop|0 + local.get $10 + local.get $3 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $0 + local.get $10 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|0 + end + end local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.get $3 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.shl + i32.add + i64.load + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store offset=20 - local.get $3 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $6 local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 282 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $3 - local.set $8 + local.get $7 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 283 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load offset=8 - i32.const 12 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 284 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + ) + (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - call $~lib/typedarray/Int32Array#__get + i32.store + local.get $1 i32.const 2 - i32.eq - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 36 + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 287 - i32.const 3 + i32.const 6080 + i32.const 6208 + i32.const 401 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq + local.get $0 + i64.const 0 + i64.ne i32.eqz if - i32.const 0 - i32.const 544 - i32.const 288 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6272 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return end - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.const 2 + local.get $1 + i32.const 10 i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 289 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $0 + i32.wrap_i64 + local.set $3 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $7 + local.get $3 + local.set $6 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $7 + local.get $6 + local.get $5 + call $~lib/util/number/utoa32_dec_lut + else + local.get $0 + call $~lib/util/number/decimalCount64High + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $6 + local.get $0 + local.set $8 + local.get $4 + local.set $5 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $6 + local.get $8 + local.get $5 + call $~lib/util/number/utoa64_dec_lut + end + else + local.get $1 + i32.const 16 + i32.eq + if + i32.const 63 + local.get $0 + i64.clz + i32.wrap_i64 + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.set $3 + local.get $0 + local.set $8 + local.get $4 + local.set $7 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $3 + local.get $8 + local.get $7 + call $~lib/util/number/utoa_hex_lut + else + local.get $0 + local.get $1 + call $~lib/util/number/ulog_base + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + local.get $0 + local.get $4 + local.get $1 + call $~lib/util/number/utoa64_any_core + end end local.get $2 - local.set $8 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/util/string/joinIntegerArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.eq - i32.eqz + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 290 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $2 - i32.load offset=8 - i32.const 8 - i32.eq + local.get $3 i32.eqz if + local.get $0 + i64.load + local.set $4 i32.const 0 - i32.const 544 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $4 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/string/String#get:length + local.set $5 + i32.const 20 + local.get $5 + i32.add local.get $3 - local.set $8 + i32.mul + i32.const 20 + i32.add + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.get $6 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $1 - i32.store offset=16 - local.get $1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + i32.const 0 local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 294 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $10 + loop $for-loop|0 + local.get $10 + local.get $3 + i32.lt_s + local.set $11 + local.get $11 + if + local.get $0 + local.get $10 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 + local.get $8 + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $8 + local.get $5 + if + local.get $7 + local.get $8 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $8 + local.get $5 + i32.add + local.set $8 + end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|0 + end end - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load + local.set $9 local.get $8 - i32.store offset=4 + local.get $7 local.get $8 - call $~lib/typedarray/Int32Array#get:length i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 + i32.shl + i32.add + local.get $9 + call $~lib/util/number/itoa_buffered + i32.add local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $6 local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq - i32.eqz + i32.gt_s if + local.get $7 i32.const 0 - i32.const 544 - i32.const 296 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/string/String#substring + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return end - local.get $1 - i32.load offset=8 + local.get $7 + local.set $12 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 297 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + ) + (func $~lib/util/number/dtoa (param $0 f64) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - global.get $~lib/builtins/i32.MAX_VALUE - call $~lib/typedarray/Int32Array#slice - local.tee $4 - i32.store offset=28 - local.get $4 + i32.store local.get $0 - i32.ne - i32.eqz + f64.const 0 + f64.eq if - i32.const 0 - i32.const 544 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 7936 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Int32Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 301 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.eq + f64.sub + f64.const 0 + f64.eq i32.eqz if - i32.const 0 - i32.const 544 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $0 + f64.ne + if + i32.const 7968 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 8000 + i32.const 8048 + local.get $0 + f64.const 0 + f64.lt + select + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - local.get $4 - i32.load offset=8 + i32.const 8080 local.get $0 - i32.load offset=8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.const 1 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store offset=16 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 8080 local.get $1 - local.set $8 + call $~lib/memory/memory.copy + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - f64.const nan:0x8000000000000 - call $~lib/typedarray/Float64Array#__set + i32.store local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - f64.const nan:0x8000000000000 + i32.const 1 + i32.sub + local.set $3 + local.get $3 i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.eq - i32.eqz + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 630 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/typedarray/Float64Array#includes - i32.const 0 - i32.ne - i32.const 1 - i32.eq + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + f32.load + f64.promote_f32 + call $~lib/util/number/dtoa + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 1 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store offset=28 + local.get $2 + call $~lib/string/String#get:length + local.set $4 + i32.const 28 local.get $4 - local.set $8 + i32.add + local.get $3 + i32.mul + i32.const 28 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store i32.const 0 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - f32.const nan:0x400000 + local.set $7 i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 636 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + f32.load + local.set $8 + local.get $7 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $8 + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $4 + if + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.get $4 + i32.add + local.set $7 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end end - local.get $4 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - f32.const nan:0x400000 - i32.const 0 - call $~lib/typedarray/Float32Array#includes - i32.const 0 - i32.ne + local.get $7 + local.get $6 + local.get $7 i32.const 1 - i32.eq - i32.eqz + i32.shl + i32.add + local.get $8 + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.gt_s if + local.get $6 i32.const 0 - i32.const 544 - i32.const 637 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $7 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store offset=16 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 f64) + (local $9 i32) + (local $10 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer - local.get $1 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const 2 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $4 - i32.store offset=28 - local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - call $~lib/typedarray/Uint8Array#get:length + i32.store + local.get $1 + i32.const 1 + i32.sub + local.set $3 + local.get $3 i32.const 0 - i32.eq + i32.lt_s + if + i32.const 6048 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $3 i32.eqz if - i32.const 0 - i32.const 544 - i32.const 714 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + f64.load + call $~lib/util/number/dtoa + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end + local.get $2 + call $~lib/string/String#get:length + local.set $4 + i32.const 28 + local.get $4 + i32.add + local.get $3 + i32.mul + i32.const 28 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store i32.const 0 - i32.const 2 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const 2 - global.set $~argumentsLength + local.set $7 i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $4 - i32.store offset=28 - local.get $4 + local.set $9 + loop $for-loop|0 + local.get $9 + local.get $3 + i32.lt_s + local.set $10 + local.get $10 + if + local.get $0 + local.get $9 + i32.const 3 + i32.shl + i32.add + f64.load + local.set $8 + local.get $7 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $8 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $4 + if + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $4 + i32.const 1 + i32.shl + call $~lib/memory/memory.copy + local.get $7 + local.get $4 + i32.add + local.set $7 + end + local.get $9 + i32.const 1 + i32.add + local.set $9 + br $for-loop|0 + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + local.get $7 + local.get $6 + local.get $7 + i32.const 1 + i32.shl + i32.add local.get $8 - call $~lib/typedarray/Uint8Array#get:length - i32.const 0 - i32.eq - i32.eqz + call $~lib/util/number/dtoa_buffered + i32.add + local.set $7 + local.get $5 + local.get $7 + i32.gt_s if + local.get $6 i32.const 0 - i32.const 544 - i32.const 718 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $7 + call $~lib/string/String#substring + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> - call $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> + local.get $6 + local.set $11 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store offset=28 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store offset=16 - local.get $1 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - f32.const 400 - call $~lib/typedarray/Float32Array#__set - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set + i32.store + local.get $1 + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 49 + i32.const 43 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - f32.const inf - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store offset=12 - local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - i64.const -10 - call $~lib/typedarray/Int64Array#__set + call $~lib/rt/itcms/__new + local.tee $2 + i32.store local.get $2 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i64.const 100 - call $~lib/typedarray/Int64Array#__set + i32.const 0 + local.get $1 + call $~lib/memory/memory.fill local.get $2 - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i64.const 10 - call $~lib/typedarray/Int64Array#__set - local.get $2 - local.set $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/typedarray/Uint8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 - i64.const 300 - call $~lib/typedarray/Int64Array#__set + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store offset=20 - local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 i32.const 0 - i32.const 300 - call $~lib/typedarray/Int32Array#__set + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $3 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const -1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - local.set $8 + i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 0 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store local.get $8 - i32.store offset=4 + local.get $5 + i32.store local.get $8 - local.get $1 - local.set $8 - global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link local.get $8 + local.get $6 i32.store offset=8 local.get $8 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> + local.get $5 local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + i32.add i32.store offset=4 local.get $8 - local.get $2 - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $4 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/arraybuffer/ArrayBuffer#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $3 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> + i32.const 0 + i32.store + local.get $0 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $1 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $1 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $3 + local.get $2 + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $2 + local.tee $5 + local.get $3 + local.tee $4 + local.get $5 + local.get $4 + i32.lt_s + select + end + local.set $2 + local.get $2 + local.get $1 + i32.sub + local.tee $4 + i32.const 0 + local.tee $5 local.get $4 - local.set $8 + local.get $5 + i32.gt_s + select + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 10 + local.get $6 i32.const 0 - i32.const 63 - i32.const 13552 - call $~lib/rt/__newArray + call $~lib/rt/itcms/__new + local.tee $7 + i32.store + local.get $7 + local.get $0 + local.get $1 + i32.add + local.get $6 + call $~lib/memory/memory.copy + local.get $7 local.set $8 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + ) + (func $~lib/typedarray/Int8Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $5 - i32.store offset=32 - local.get $5 - local.set $8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set + i32.store + local.get $0 + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 local.get $5 - local.set $8 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 0 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store local.get $8 - i32.store offset=4 + local.get $5 + i32.store local.get $8 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set local.get $5 - local.set $8 - global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__link local.get $8 - i32.store offset=4 + local.get $6 + i32.store offset=8 local.get $8 - i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set local.get $5 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $4 + i32.add i32.store offset=4 local.get $8 - i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + ) + (func $~lib/typedarray/Uint8ClampedArray.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - local.get $0 - local.set $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set + i32.const 0 + i32.store local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 local.get $4 - local.set $8 + local.get $7 + i32.gt_u + local.get $4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 0 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store local.get $8 local.get $5 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 + i32.store local.get $8 + local.get $5 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> - local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=4 - local.get $8 - local.get $0 - local.set $8 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link local.get $8 + local.get $6 i32.store offset=8 local.get $8 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $5 local.get $4 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 + i32.add i32.store offset=4 local.get $8 - i32.const 10 - i32.const 0 - i32.const 63 - i32.const 13584 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store offset=8 - local.get $8 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__heap_base - global.set $~lib/memory/__stack_pointer - call $~lib/rt/itcms/__collect + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $9 ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int16Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart + i32.store local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.set $5 local.get $1 - i32.const 1073741820 + local.set $4 local.get $2 - i32.shr_u + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 i32.gt_u + local.get $4 + i32.const 1 + i32.and + i32.or if - i32.const 32 - i32.const 80 - i32.const 18 - i32.const 57 + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.shl - local.tee $1 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $0 - local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 local.get $3 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/typedarray/Float64Array#sort@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 0 - drop - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.eq - drop - i32.const 672 - br $~lib/util/sort/COMPARATOR|inlined.0 + else + local.get $3 + i32.const 1 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable end - local.tee $1 - i32.store end - local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array#sort - local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $9 ) - (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Uint16Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -76235,52 +60171,116 @@ i32.const 0 i32.store local.get $0 + local.set $5 local.get $1 - i32.shl local.set $4 - global.get $~lib/memory/__stack_pointer + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 local.get $4 - i32.const 0 + local.get $7 + i32.gt_u + local.get $4 + i32.const 1 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $3 - call $~lib/rt/__newBuffer - local.tee $5 - i32.store - i32.const 16 - local.get $2 + i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 1 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 call $~lib/rt/itcms/__new - local.set $6 - local.get $6 + local.tee $8 + i32.store + local.get $8 local.get $5 i32.store - local.get $6 + local.get $8 local.get $5 i32.const 0 call $~lib/rt/itcms/__link + local.get $8 local.get $6 + i32.store offset=8 + local.get $8 local.get $5 - i32.store offset=4 - local.get $6 local.get $4 - i32.store offset=8 - local.get $6 - local.get $0 - i32.store offset=12 - local.get $6 - local.set $7 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $9 ) - (func $~lib/util/number/itoa32 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -76289,164 +60289,117 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + local.set $5 local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 3 + i32.and + i32.or if - i32.const 6080 - i32.const 6208 - i32.const 373 + i32.const 336 + i32.const 608 + i32.const 1826 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - i32.eqz - if - i32.const 6272 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $0 - i32.const 31 - i32.shr_u - local.set $2 - local.get $2 - if - i32.const 0 - local.get $0 - i32.sub - local.set $0 - end - local.get $1 - i32.const 10 - i32.eq - if - local.get $0 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else - local.get $1 - i32.const 16 - i32.eq - if - i32.const 31 - local.get $0 - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.get $2 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $6 - i64.extend_i32_u - local.get $5 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.set $4 - local.get $4 - i64.extend_i32_u - local.get $1 - call $~lib/util/number/ulog_base - local.get $2 - i32.add - local.set $7 - global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if local.get $7 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.get $4 - i64.extend_i32_u + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end local.get $7 - local.get $1 - call $~lib/util/number/utoa64_any_core + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable end - end - local.get $2 - if + else local.get $3 - i32.const 45 - i32.store16 + i32.const 2 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - local.get $3 - local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $9 ) - (func $~lib/util/number/utoa32 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -76455,142 +60408,117 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + local.set $5 local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 3 + i32.and + i32.or if - i32.const 6080 - i32.const 6208 - i32.const 350 + i32.const 336 + i32.const 608 + i32.const 1826 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - i32.eqz - if - i32.const 6272 - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $1 - i32.const 10 - i32.eq + local.get $3 + i32.const 0 + i32.lt_s if - local.get $0 - call $~lib/util/number/decimalCount32 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.set $6 - local.get $0 - local.set $5 local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - else - local.get $1 - i32.const 16 + i32.const -1 i32.eq if - i32.const 31 - local.get $0 - i32.clz + local.get $7 + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 local.set $6 - local.get $0 - local.set $5 - local.get $3 - local.set $4 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $5 - i64.extend_i32_u - local.get $4 - call $~lib/util/number/utoa_hex_lut else - local.get $0 - i64.extend_i32_u - local.get $1 - call $~lib/util/number/ulog_base - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - i64.extend_i32_u - local.get $3 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 2 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable end end - local.get $2 - local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $9 ) - (func $~lib/util/number/itoa64 (param $0 i64) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i64) - (local $10 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -76599,201 +60527,116 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + local.set $5 local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 7 + i32.and + i32.or if - i32.const 6080 - i32.const 6208 - i32.const 431 + i32.const 336 + i32.const 608 + i32.const 1826 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - i64.const 0 - i64.ne - i32.eqz - if - i32.const 6272 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - return - end - local.get $0 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.set $2 - local.get $2 - if - i64.const 0 - local.get $0 - i64.sub - local.set $0 - end - local.get $1 - i32.const 10 - i32.eq + local.get $3 + i32.const 0 + i32.lt_s if - local.get $0 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u + local.get $3 + i32.const -1 + i32.eq if - local.get $0 - i32.wrap_i64 - local.set $4 - local.get $4 - call $~lib/util/number/decimalCount32 - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $8 + local.get $7 + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 local.get $4 - local.set $7 - local.get $5 + i32.sub local.set $6 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $8 - local.get $7 - local.get $6 - call $~lib/util/number/utoa32_dec_lut else - local.get $0 - call $~lib/util/number/decimalCount64High - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $7 - local.get $0 - local.set $9 - local.get $5 - local.set $6 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $7 - local.get $9 - local.get $6 - call $~lib/util/number/utoa64_dec_lut + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable end else - local.get $1 - i32.const 16 - i32.eq + local.get $3 + i32.const 3 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.set $4 - local.get $0 - local.set $9 - local.get $5 - local.set $8 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $4 - local.get $9 - local.get $8 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.get $1 - call $~lib/util/number/ulog_base - local.get $2 - i32.add - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store - local.get $3 - local.get $0 - local.get $5 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable end - end - local.get $2 - if - local.get $3 - i32.const 45 - i32.store16 - end - local.get $3 - local.set $10 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $9 ) - (func $~lib/util/number/utoa64 (param $0 i64) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i64) + (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -76803,160 +60646,102 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + local.set $5 local.get $1 - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 36 - i32.gt_s - end + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 7 + i32.and + i32.or if - i32.const 6080 - i32.const 6208 - i32.const 401 + i32.const 336 + i32.const 608 + i32.const 1826 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - i64.const 0 - i64.ne - i32.eqz - if - i32.const 6272 - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - end - local.get $1 - i32.const 10 - i32.eq + local.get $3 + i32.const 0 + i32.lt_s if - local.get $0 - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u + local.get $3 + i32.const -1 + i32.eq if - local.get $0 - i32.wrap_i64 - local.set $3 - local.get $3 - call $~lib/util/number/decimalCount32 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.set $7 - local.get $3 - local.set $6 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop local.get $7 - local.get $6 - local.get $5 - call $~lib/util/number/utoa32_dec_lut - else - local.get $0 - call $~lib/util/number/decimalCount64High - local.set $4 - global.get $~lib/memory/__stack_pointer + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 + i32.sub local.set $6 - local.get $0 - local.set $8 - local.get $4 - local.set $5 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $6 - local.get $8 - local.get $5 - call $~lib/util/number/utoa64_dec_lut + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable end else - local.get $1 - i32.const 16 - i32.eq + local.get $3 + i32.const 3 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s if - i32.const 63 - local.get $0 - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.set $3 - local.get $0 - local.set $8 - local.get $4 - local.set $7 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $3 - local.get $8 - local.get $7 - call $~lib/util/number/utoa_hex_lut - else - local.get $0 - local.get $1 - call $~lib/util/number/ulog_base - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store - local.get $2 - local.get $0 - local.get $4 - local.get $1 - call $~lib/util/number/utoa64_any_core + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable end end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -76964,10 +60749,14 @@ global.set $~lib/memory/__stack_pointer local.get $9 ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -76977,79 +60766,116 @@ i32.const 0 i32.store local.get $0 - f64.const 0 - f64.eq + local.set $5 + local.get $1 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 + i32.gt_u + local.get $4 + i32.const 3 + i32.and + i32.or if - i32.const 7936 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.eq - i32.eqz + local.get $3 + i32.const 0 + i32.lt_s if - local.get $0 - local.get $0 - f64.ne + local.get $3 + i32.const -1 + i32.eq if - i32.const 7968 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $7 + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable end - i32.const 8000 - i32.const 8048 - local.get $0 - f64.const 0 - f64.lt - select - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + else local.get $3 - return + i32.const 2 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - i32.const 8080 - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 + i32.const 12 + i32.const 12 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $8 i32.store - local.get $2 - i32.const 8080 - local.get $1 - call $~lib/memory/memory.copy - local.get $2 - local.set $3 + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $9 ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array.wrap (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -77058,33 +60884,107 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + local.set $5 local.get $1 - i32.const 1073741820 + local.set $4 + local.get $2 + local.set $3 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $7 + local.get $4 + local.get $7 i32.gt_u + local.get $4 + i32.const 7 + i32.and + i32.or if - i32.const 32 - i32.const 80 - i32.const 49 - i32.const 43 + i32.const 336 + i32.const 608 + i32.const 1826 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.const 0 + i32.lt_s + if + local.get $3 + i32.const -1 + i32.eq + if + local.get $7 + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1831 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $7 + local.get $4 + i32.sub + local.set $6 + else + i32.const 32 + i32.const 608 + i32.const 1835 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $3 + i32.const 3 + i32.shl + local.set $6 + local.get $4 + local.get $6 + i32.add + local.get $7 + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1840 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $8 i32.store - local.get $2 + local.get $8 + local.get $5 + i32.store + local.get $8 + local.get $5 i32.const 0 - local.get $1 - call $~lib/memory/memory.fill - local.get $2 - local.set $3 + call $~lib/rt/itcms/__link + local.get $8 + local.get $6 + i32.store offset=8 + local.get $8 + local.get $5 + local.get $4 + i32.add + i32.store offset=4 + local.get $8 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $9 ) ) diff --git a/tests/compiler/super-inline.optimized.wat b/tests/compiler/super-inline.optimized.wat index ee6b222201..69d4c391ba 100644 --- a/tests/compiler/super-inline.optimized.wat +++ b/tests/compiler/super-inline.optimized.wat @@ -1459,22 +1459,6 @@ unreachable ) (func $~start - call $start:super-inline - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 1484 - i32.lt_s - if - i32.const 17888 - i32.const 17936 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $start:super-inline (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1508,29 +1492,19 @@ global.get $super-inline/foo local.tee $0 i32.store - block $__inlined_func$super-inline/Foo#a@virtual (result i32) - local.get $0 - i32.const 8 - i32.sub - i32.load - i32.const 4 - i32.eq - if - local.get $0 - call $super-inline/Bar#a - br $__inlined_func$super-inline/Foo#a@virtual - end - i32.const 0 - end + local.get $0 + i32.const 8 + i32.sub + i32.load drop global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new @@ -1538,30 +1512,36 @@ i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 call $super-inline/Foo#constructor local.tee $0 i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $super-inline/bar global.get $~lib/memory/__stack_pointer global.get $super-inline/bar - local.tee $0 i32.store - local.get $0 - call $super-inline/Bar#a - drop global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 1484 + i32.lt_s + if + i32.const 17888 + i32.const 17936 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $super-inline/Foo#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1586,22 +1566,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $super-inline/Bar#a (param $0 i32) (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - ) ) diff --git a/tests/compiler/super-inline.untouched.wat b/tests/compiler/super-inline.untouched.wat index bb076567c7..fd1f3407c7 100644 --- a/tests/compiler/super-inline.untouched.wat +++ b/tests/compiler/super-inline.untouched.wat @@ -2356,6 +2356,12 @@ (func $super-inline/Foo#a (param $0 i32) (result i32) i32.const 1 ) + (func $super-inline/Bar#a (param $0 i32) (result i32) + (local $1 i32) + local.get $0 + local.set $1 + i32.const 1 + ) (func $super-inline/Foo#a@virtual (param $0 i32) (result i32) (local $1 i32) block $default @@ -2456,44 +2462,6 @@ unreachable end ) - (func $super-inline/Bar#constructor (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - local.get $1 - call $super-inline/Foo#constructor - local.tee $0 - i32.store - local.get $0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $start:super-inline (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2576,9 +2544,8 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $super-inline/Bar#a (param $0 i32) (result i32) + (func $super-inline/Bar#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2587,16 +2554,27 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + call $super-inline/Foo#constructor + local.tee $0 i32.store - i32.const 1 - local.set $2 + local.get $0 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) ) diff --git a/tests/compiler/typeof.optimized.wat b/tests/compiler/typeof.optimized.wat index 65bdca0753..d202aabca6 100644 --- a/tests/compiler/typeof.optimized.wat +++ b/tests/compiler/typeof.optimized.wat @@ -54,6 +54,122 @@ (global $~started (mut i32) (i32.const 0)) (export "memory" (memory $0)) (export "_start" (func $~start)) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $1 + i32.eqz + i32.const 1 + local.get $0 + select + if + i32.const 0 + return + end + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + return + end + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $3 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + i32.const 0 + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + select + if + loop $do-continue|0 + local.get $3 + i64.load + local.get $1 + i64.load + i64.eq + if + local.get $3 + i32.const 8 + i32.add + local.set $3 + local.get $1 + i32.const 8 + i32.add + local.set $1 + local.get $0 + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-continue|0 + end + end + end + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $3 + i32.load16_u + local.tee $2 + local.get $1 + i32.load16_u + local.tee $4 + i32.ne + if + local.get $2 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $3 + i32.const 2 + i32.add + local.set $3 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + end + i32.eqz + ) (func $~lib/rt/itcms/initLazy (param $0 i32) (result i32) local.get $0 local.get $0 @@ -1422,152 +1538,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - i32.const 1 - local.get $0 - select - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $2 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $3 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - i32.const 0 - local.get $2 - i32.const 4 - i32.ge_u - select - if - loop $do-continue|0 - local.get $3 - i64.load - local.get $1 - i64.load - i64.eq - if - local.get $3 - i32.const 8 - i32.add - local.set $3 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 4 - i32.ge_u - br_if $do-continue|0 - end - end - end - loop $while-continue|1 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - local.get $3 - i32.load16_u - local.tee $4 - local.get $1 - i32.load16_u - local.tee $0 - i32.ne - if - local.get $4 - local.get $0 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - end - local.get $3 - i32.const 2 - i32.add - local.set $3 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) (func $start:typeof (local $0 i32) (local $1 i32) diff --git a/tests/compiler/typeof.untouched.wat b/tests/compiler/typeof.untouched.wat index b9d254ee75..283c18eb34 100644 --- a/tests/compiler/typeof.untouched.wat +++ b/tests/compiler/typeof.untouched.wat @@ -174,6 +174,48 @@ end i32.const 0 ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $0 + local.get $1 + i32.eq + if + i32.const 1 + return + end + local.get $0 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 0 + i32.eq + end + if + i32.const 0 + return + end + local.get $0 + call $~lib/string/String#get:length + local.set $2 + local.get $2 + local.get $1 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + return + end + local.get $0 + i32.const 0 + local.get $1 + i32.const 0 + local.get $2 + call $~lib/util/string/compareImpl + i32.eqz + ) (func $start:typeof~anonymous|0 nop ) @@ -2588,101 +2630,6 @@ unreachable end ) - (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 0 - i32.eq - end - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - local.set $2 - local.get $2 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store - local.get $3 - i32.const 0 - local.get $1 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store offset=4 - local.get $3 - i32.const 0 - local.get $2 - call $~lib/util/string/compareImpl - i32.eqz - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $start:typeof (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/wasi/abort.optimized.wat b/tests/compiler/wasi/abort.optimized.wat index 6f5a21494b..5c9b753f71 100644 --- a/tests/compiler/wasi/abort.optimized.wat +++ b/tests/compiler/wasi/abort.optimized.wat @@ -1,7 +1,6 @@ (module (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_=>_i32 (func (param i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) @@ -12,7 +11,6 @@ (data (i32.const 1048) "\01\00\00\00\16\00\00\00t\00h\00e\00 \00m\00e\00s\00s\00a\00g\00e") (data (i32.const 1084) ",") (data (i32.const 1096) "\01\00\00\00\1a\00\00\00w\00a\00s\00i\00/\00a\00b\00o\00r\00t\00.\00t\00s") - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17516)) (export "test" (func $wasi/abort/test)) (export "memory" (memory $0)) (export "_start" (func $~start)) @@ -230,148 +228,106 @@ i32.lt_u select ) - (func $wasi/abort/test - i32.const 1056 - i32.const 1104 - i32.const 4 + (func $~lib/wasi/index/abort + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) i32.const 3 - call $~lib/wasi/index/abort - unreachable - ) - (func $~start - nop - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer + local.set $2 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1132 - i32.lt_s - if - i32.const 17536 - i32.const 17584 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store + local.set $1 i32.const 0 i32.const 12 i32.store i32.const 12 i64.const 9071471065260641 i64.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 + i32.const 1056 + i32.const 1052 + i32.load + i32.const 1 + i32.shr_u + i32.const 19 + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 19 + i32.add + local.tee $0 i32.const 544106784 i32.store - local.get $4 + local.get $0 i32.const 4 i32.add - local.set $4 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 + local.tee $0 + i32.const 1104 + i32.const 1100 + i32.load + i32.const 1 + i32.shr_u + local.get $0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.tee $0 i32.const 40 i32.store8 - local.get $2 + i32.const 4 call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 + local.tee $3 + local.get $0 i32.const 1 i32.add i32.add - local.set $4 + local.set $0 loop $do-continue|0 - local.get $4 + local.get $0 i32.const 1 i32.sub - local.tee $4 - local.get $2 + local.tee $0 + local.get $1 i32.const 10 i32.rem_u i32.const 48 i32.add i32.store8 - local.get $2 + local.get $1 i32.const 10 i32.div_u - local.tee $2 + local.tee $1 br_if $do-continue|0 end local.get $0 - local.get $4 + local.get $3 i32.add local.tee $0 i32.const 58 i32.store8 - local.get $3 + i32.const 3 call $~lib/util/number/decimalCount32 local.tee $1 local.get $0 i32.const 1 i32.add i32.add - local.set $4 + local.set $0 loop $do-continue|1 - local.get $4 + local.get $0 i32.const 1 i32.sub - local.tee $4 - local.get $3 + local.tee $0 + local.get $2 i32.const 10 i32.rem_u i32.const 48 i32.add i32.store8 - local.get $3 + local.get $2 i32.const 10 i32.div_u - local.tee $3 + local.tee $2 br_if $do-continue|1 end + local.get $0 local.get $1 - local.get $4 i32.add local.tee $0 i32.const 2601 @@ -389,9 +345,12 @@ drop i32.const 255 call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $wasi/abort/test + call $~lib/wasi/index/abort + unreachable + ) + (func $~start + nop ) ) diff --git a/tests/compiler/wasi/abort.untouched.wat b/tests/compiler/wasi/abort.untouched.wat index 615f56d3ba..ed30832a68 100644 --- a/tests/compiler/wasi/abort.untouched.wat +++ b/tests/compiler/wasi/abort.untouched.wat @@ -306,49 +306,12 @@ local.get $1 i32.store offset=4 ) - (func $wasi/abort/test - i32.const 0 - i32.eqz - if - i32.const 32 - i32.const 80 - i32.const 4 - i32.const 3 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~start - nop - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 16512 - i32.const 16560 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 0 i32.const 12 call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf @@ -368,11 +331,6 @@ local.get $4 local.get $0 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 call $~lib/string/String#get:length local.get $4 i32.const 0 @@ -394,11 +352,6 @@ local.get $4 local.get $1 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 call $~lib/string/String#get:length local.get $4 i32.const 0 @@ -508,9 +461,20 @@ drop i32.const 255 call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $wasi/abort/test + i32.const 0 + i32.eqz + if + i32.const 32 + i32.const 80 + i32.const 4 + i32.const 3 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~start + nop ) ) diff --git a/tests/compiler/wasi/seed.optimized.wat b/tests/compiler/wasi/seed.optimized.wat index f338b9de2c..9879f9fbd6 100644 --- a/tests/compiler/wasi/seed.optimized.wat +++ b/tests/compiler/wasi/seed.optimized.wat @@ -1,11 +1,9 @@ (module (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_f64 (func (result f64))) (type $none_=>_none (func)) + (type $none_=>_f64 (func (result f64))) (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) (type $i64_=>_i64 (func (param i64) (result i64))) (import "wasi_snapshot_preview1" "random_get" (func $~lib/bindings/wasi_snapshot_preview1/random_get (param i32 i32) (result i32))) @@ -19,7 +17,6 @@ (global $~lib/math/random_state1_64 (mut i64) (i64.const 0)) (global $~lib/math/random_state0_32 (mut i32) (i32.const 0)) (global $~lib/math/random_state1_32 (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 17468)) (export "test" (func $wasi/seed/test)) (export "memory" (memory $0)) (export "_start" (func $~start)) @@ -76,47 +73,50 @@ i32.shr_u i32.xor ) - (func $~lib/string/String.UTF8.encodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String.UTF8.encodeUnsafe (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + i32.const 1056 + local.set $2 local.get $0 - local.get $1 i32.const 1 i32.shl + i32.const 1056 i32.add - local.set $4 - local.get $2 - local.set $1 + local.set $3 + i32.const 23 + local.set $0 loop $while-continue|0 - local.get $0 - local.get $4 + local.get $2 + local.get $3 i32.lt_u if - local.get $0 + local.get $2 i32.load16_u - local.tee $3 + local.tee $1 i32.const 128 i32.lt_u if (result i32) + local.get $0 local.get $1 - local.get $3 i32.store8 - local.get $1 + local.get $0 i32.const 1 i32.add else - local.get $3 + local.get $1 i32.const 2048 i32.lt_u if (result i32) + local.get $0 local.get $1 - local.get $3 i32.const 6 i32.shr_u i32.const 192 i32.or - local.get $3 + local.get $1 i32.const 63 i32.and i32.const 128 @@ -125,51 +125,51 @@ i32.shl i32.or i32.store16 - local.get $1 + local.get $0 i32.const 2 i32.add else - local.get $4 - local.get $0 + local.get $3 + local.get $2 i32.const 2 i32.add i32.gt_u i32.const 0 - local.get $3 + local.get $1 i32.const 64512 i32.and i32.const 55296 i32.eq select if - local.get $0 + local.get $2 i32.load16_u offset=2 - local.tee $5 + local.tee $4 i32.const 64512 i32.and i32.const 56320 i32.eq if + local.get $0 local.get $1 - local.get $3 i32.const 1023 i32.and i32.const 10 i32.shl i32.const 65536 i32.add - local.get $5 + local.get $4 i32.const 1023 i32.and i32.or - local.tee $3 + local.tee $1 i32.const 63 i32.and i32.const 128 i32.or i32.const 24 i32.shl - local.get $3 + local.get $1 i32.const 6 i32.shr_u i32.const 63 @@ -179,7 +179,7 @@ i32.const 16 i32.shl i32.or - local.get $3 + local.get $1 i32.const 12 i32.shr_u i32.const 63 @@ -189,31 +189,31 @@ i32.const 8 i32.shl i32.or - local.get $3 + local.get $1 i32.const 18 i32.shr_u i32.const 240 i32.or i32.or i32.store - local.get $1 - i32.const 4 - i32.add - local.set $1 local.get $0 i32.const 4 i32.add local.set $0 + local.get $2 + i32.const 4 + i32.add + local.set $2 br $while-continue|0 end end + local.get $0 local.get $1 - local.get $3 i32.const 12 i32.shr_u i32.const 224 i32.or - local.get $3 + local.get $1 i32.const 6 i32.shr_u i32.const 63 @@ -224,28 +224,28 @@ i32.shl i32.or i32.store16 + local.get $0 local.get $1 - local.get $3 i32.const 63 i32.and i32.const 128 i32.or i32.store8 offset=2 - local.get $1 + local.get $0 i32.const 3 i32.add end end - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.const 2 i32.add - local.set $0 + local.set $2 br $while-continue|0 end end - local.get $1 - local.get $2 + local.get $0 + i32.const 23 i32.sub ) (func $~lib/util/number/decimalCount32 (param $0 i32) (result i32) @@ -290,6 +290,110 @@ i32.lt_u select ) + (func $~lib/wasi/index/abort + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + i32.const 5 + local.set $2 + i32.const 1399 + local.set $1 + i32.const 0 + i32.const 12 + i32.store + i32.const 12 + i64.const 9071471065260641 + i64.store + i32.const 19 + i32.const 544106784 + i32.store + i32.const 1052 + i32.load + i32.const 1 + i32.shr_u + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 23 + i32.add + local.tee $0 + i32.const 40 + i32.store8 + i32.const 1399 + call $~lib/util/number/decimalCount32 + local.tee $3 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $0 + loop $do-continue|0 + local.get $0 + i32.const 1 + i32.sub + local.tee $0 + local.get $1 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $1 + i32.const 10 + i32.div_u + local.tee $1 + br_if $do-continue|0 + end + local.get $0 + local.get $3 + i32.add + local.tee $0 + i32.const 58 + i32.store8 + i32.const 5 + call $~lib/util/number/decimalCount32 + local.tee $1 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $0 + loop $do-continue|1 + local.get $0 + i32.const 1 + i32.sub + local.tee $0 + local.get $2 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $2 + i32.const 10 + i32.div_u + local.tee $2 + br_if $do-continue|1 + end + local.get $0 + local.get $1 + i32.add + local.tee $0 + i32.const 2601 + i32.store16 + i32.const 4 + local.get $0 + i32.const 10 + i32.sub + i32.store + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/math/NativeMath.random (result f64) (local $0 i64) (local $1 i64) @@ -351,10 +455,6 @@ select i32.eqz if - i32.const 0 - i32.const 1056 - i32.const 1399 - i32.const 5 call $~lib/wasi/index/abort unreachable end @@ -396,157 +496,4 @@ (func $~start nop ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1084 - i32.lt_s - if - i32.const 17488 - i32.const 17536 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - i32.store - i32.const 12 - i64.const 9071471065260641 - i64.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $2 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $2 - i32.const 10 - i32.div_u - local.tee $2 - br_if $do-continue|0 - end - local.get $0 - local.get $4 - i32.add - local.tee $0 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.tee $1 - local.get $0 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|1 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $3 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $3 - i32.const 10 - i32.div_u - local.tee $3 - br_if $do-continue|1 - end - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 2601 - i32.store16 - i32.const 4 - local.get $0 - i32.const 10 - i32.sub - i32.store - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) ) diff --git a/tests/compiler/wasi/seed.untouched.wat b/tests/compiler/wasi/seed.untouched.wat index 7336d440af..31186106c4 100644 --- a/tests/compiler/wasi/seed.untouched.wat +++ b/tests/compiler/wasi/seed.untouched.wat @@ -1,9 +1,9 @@ (module (type $i32_=>_i32 (func (param i32) (result i32))) (type $none_=>_f64 (func (result f64))) - (type $none_=>_none (func)) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $none_=>_none (func)) (type $i32_=>_none (func (param i32))) (type $i64_=>_none (func (param i64))) (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) @@ -408,144 +408,12 @@ local.get $1 i32.store offset=4 ) - (func $~lib/math/NativeMath.seedRandom (param $0 i64) - i32.const 1 - global.set $~lib/math/random_seeded - local.get $0 - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - call $~lib/math/murmurHash3 - global.set $~lib/math/random_state1_64 - local.get $0 - i32.wrap_i64 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state0_32 - global.get $~lib/math/random_state0_32 - call $~lib/math/splitMix32 - global.set $~lib/math/random_state1_32 - global.get $~lib/math/random_state0_64 - i64.const 0 - i64.ne - if (result i32) - global.get $~lib/math/random_state1_64 - i64.const 0 - i64.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state0_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - if (result i32) - global.get $~lib/math/random_state1_32 - i32.const 0 - i32.ne - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 1399 - i32.const 5 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/math/NativeMath.random (result f64) - (local $0 i64) - (local $1 i64) - (local $2 i64) - global.get $~lib/math/random_seeded - i32.eqz - if - call $~lib/wasi/index/seed - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom - end - global.get $~lib/math/random_state0_64 - local.set $0 - global.get $~lib/math/random_state1_64 - local.set $1 - local.get $1 - global.set $~lib/math/random_state0_64 - local.get $0 - local.get $0 - i64.const 23 - i64.shl - i64.xor - local.set $0 - local.get $0 - local.get $0 - i64.const 17 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - local.get $1 - i64.xor - local.set $0 - local.get $0 - local.get $1 - i64.const 26 - i64.shr_u - i64.xor - local.set $0 - local.get $0 - global.set $~lib/math/random_state1_64 - local.get $1 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or - local.set $2 - local.get $2 - f64.reinterpret_i64 - f64.const 1 - f64.sub - ) - (func $wasi/seed/test (result f64) - call $~lib/math/NativeMath.random - ) - (func $~start - nop - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 16464 - i32.const 16512 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 0 i32.const 12 call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf @@ -565,11 +433,6 @@ local.get $4 local.get $0 local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 call $~lib/string/String#get:length local.get $4 i32.const 0 @@ -591,11 +454,6 @@ local.get $4 local.get $1 local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 call $~lib/string/String#get:length local.get $4 i32.const 0 @@ -705,9 +563,115 @@ drop i32.const 255 call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~lib/math/NativeMath.seedRandom (param $0 i64) + i32.const 1 + global.set $~lib/math/random_seeded + local.get $0 + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + call $~lib/math/murmurHash3 + global.set $~lib/math/random_state1_64 + local.get $0 + i32.wrap_i64 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state0_32 + global.get $~lib/math/random_state0_32 + call $~lib/math/splitMix32 + global.set $~lib/math/random_state1_32 + global.get $~lib/math/random_state0_64 + i64.const 0 + i64.ne + if (result i32) + global.get $~lib/math/random_state1_64 + i64.const 0 + i64.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state0_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + if (result i32) + global.get $~lib/math/random_state1_32 + i32.const 0 + i32.ne + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 1399 + i32.const 5 + call $~lib/wasi/index/abort + unreachable + end + ) + (func $~lib/math/NativeMath.random (result f64) + (local $0 i64) + (local $1 i64) + (local $2 i64) + global.get $~lib/math/random_seeded + i32.eqz + if + call $~lib/wasi/index/seed + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom + end + global.get $~lib/math/random_state0_64 + local.set $0 + global.get $~lib/math/random_state1_64 + local.set $1 + local.get $1 + global.set $~lib/math/random_state0_64 + local.get $0 + local.get $0 + i64.const 23 + i64.shl + i64.xor + local.set $0 + local.get $0 + local.get $0 + i64.const 17 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.xor + local.set $0 + local.get $0 + local.get $1 + i64.const 26 + i64.shr_u + i64.xor + local.set $0 + local.get $0 + global.set $~lib/math/random_state1_64 + local.get $1 + i64.const 12 + i64.shr_u + i64.const 4607182418800017408 + i64.or + local.set $2 + local.get $2 + f64.reinterpret_i64 + f64.const 1 + f64.sub + ) + (func $wasi/seed/test (result f64) + call $~lib/math/NativeMath.random + ) + (func $~start + nop ) ) diff --git a/tests/compiler/wasi/trace.optimized.wat b/tests/compiler/wasi/trace.optimized.wat index b3455328b9..54ca8ba739 100644 --- a/tests/compiler/wasi/trace.optimized.wat +++ b/tests/compiler/wasi/trace.optimized.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $none_=>_none (func)) (type $i32_i32_=>_none (func (param i32 i32))) (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) @@ -248,6 +248,131 @@ i32.lt_u select ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + i32.const 0 + i32.const 12 + i32.store + i32.const 12 + i64.const 9071471065260641 + i64.store + local.get $0 + if (result i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 19 + call $~lib/string/String.UTF8.encodeUnsafe + i32.const 19 + i32.add + else + i32.const 19 + end + local.tee $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + if + local.get $1 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.get $4 + call $~lib/string/String.UTF8.encodeUnsafe + local.get $4 + i32.add + local.set $4 + end + local.get $4 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.tee $0 + local.get $4 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|0 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $2 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $2 + i32.const 10 + i32.div_u + local.tee $2 + br_if $do-continue|0 + end + local.get $0 + local.get $4 + i32.add + local.tee $0 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.tee $1 + local.get $0 + i32.const 1 + i32.add + i32.add + local.set $4 + loop $do-continue|1 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + local.get $3 + i32.const 10 + i32.rem_u + i32.const 48 + i32.add + i32.store8 + local.get $3 + i32.const 10 + i32.div_u + local.tee $3 + br_if $do-continue|1 + end + local.get $1 + local.get $4 + i32.add + local.tee $0 + i32.const 2601 + i32.store16 + i32.const 4 + local.get $0 + i32.const 10 + i32.sub + i32.store + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -2376,228 +2501,11 @@ local.get $1 call $~lib/util/number/dtoa_core ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/wasi/index/trace - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 1 - f64.const 1.5 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/wasi/index/trace - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store - i32.const 5 - f64.const -2.00001 - f64.const 3 - f64.const nan:0x8000000000000 - f64.const inf - f64.const -inf - call $~lib/wasi/index/trace - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 2128 - i32.lt_s - if - i32.const 18544 - i32.const 18592 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - i32.store - i32.const 12 - i64.const 9071471065260641 - i64.store - local.get $0 - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - i32.const 19 - call $~lib/string/String.UTF8.encodeUnsafe - i32.const 19 - i32.add - else - i32.const 19 - end - local.tee $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load offset=16 - i32.const 1 - i32.shr_u - local.get $4 - call $~lib/string/String.UTF8.encodeUnsafe - local.get $4 - i32.add - local.set $4 - end - local.get $4 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.tee $0 - local.get $4 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|0 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $2 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $2 - i32.const 10 - i32.div_u - local.tee $2 - br_if $do-continue|0 - end - local.get $0 - local.get $4 - i32.add - local.tee $0 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.tee $1 - local.get $0 - i32.const 1 - i32.add - i32.add - local.set $4 - loop $do-continue|1 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - local.get $3 - i32.const 10 - i32.rem_u - i32.const 48 - i32.add - i32.store8 - local.get $3 - i32.const 10 - i32.div_u - local.tee $3 - br_if $do-continue|1 - end - local.get $1 - local.get $4 - i32.add - local.tee $0 - i32.const 2601 - i32.store16 - i32.const 4 - local.get $0 - i32.const 10 - i32.sub - i32.store - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/wasi/index/trace (param $0 i32) (param $1 f64) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store i32.const 1056 local.set $6 i32.const 1052 @@ -2713,9 +2621,6 @@ local.get $8 call $~lib/bindings/wasi_snapshot_preview1/fd_write drop - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store local.get $7 i32.const 1056 i32.const 1052 @@ -2904,6 +2809,62 @@ local.get $0 call $~lib/rt/tlsf/insertBlock end + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2128 + i32.lt_s + if + i32.const 18544 + i32.const 18592 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/wasi/index/trace + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1 + f64.const 1.5 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/wasi/index/trace + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 5 + f64.const -2.00001 + f64.const 3 + f64.const nan:0x8000000000000 + f64.const inf + f64.const -inf + call $~lib/wasi/index/trace global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/wasi/trace.untouched.wat b/tests/compiler/wasi/trace.untouched.wat index 72eafc4580..1163603473 100644 --- a/tests/compiler/wasi/trace.untouched.wat +++ b/tests/compiler/wasi/trace.untouched.wat @@ -435,6 +435,162 @@ local.get $1 i32.store offset=4 ) + (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + i32.const 0 + i32.const 12 + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf + i32.const 12 + local.set $4 + local.get $4 + i64.const 9071471065260641 + i64.store + local.get $4 + i32.const 7 + i32.add + local.set $4 + local.get $0 + i32.const 0 + i32.ne + if + local.get $4 + local.get $0 + local.get $0 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + i32.const 544106784 + i32.store + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $1 + i32.const 0 + i32.ne + if + local.get $4 + local.get $1 + local.get $1 + call $~lib/string/String#get:length + local.get $4 + i32.const 0 + call $~lib/string/String.UTF8.encodeUnsafe + i32.add + local.set $4 + end + local.get $4 + local.tee $5 + i32.const 1 + i32.add + local.set $4 + local.get $5 + i32.const 40 + i32.store8 + local.get $2 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|0 + local.get $2 + i32.const 10 + i32.div_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $2 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $5 + local.set $2 + local.get $2 + local.set $7 + local.get $7 + br_if $do-continue|0 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + local.tee $7 + i32.const 1 + i32.add + local.set $4 + local.get $7 + i32.const 58 + i32.store8 + local.get $3 + call $~lib/util/number/decimalCount32 + local.set $6 + local.get $4 + local.get $6 + i32.add + local.set $4 + loop $do-continue|1 + local.get $3 + i32.const 10 + i32.div_u + local.set $7 + local.get $4 + i32.const 1 + i32.sub + local.tee $4 + i32.const 48 + local.get $3 + i32.const 10 + i32.rem_u + i32.add + i32.store8 + local.get $7 + local.set $3 + local.get $3 + local.set $8 + local.get $8 + br_if $do-continue|1 + end + local.get $4 + local.get $6 + i32.add + local.set $4 + local.get $4 + i32.const 2601 + i32.store16 + local.get $4 + i32.const 2 + i32.add + local.set $4 + i32.const 0 + local.get $4 + i32.const 12 + i32.sub + call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len + i32.const 2 + i32.const 0 + i32.const 1 + i32.const 8 + call $~lib/bindings/wasi_snapshot_preview1/fd_write + drop + i32.const 255 + call $~lib/bindings/wasi_snapshot_preview1/proc_exit + ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4601,233 +4757,18 @@ call $~lib/rt/tlsf/checkUsedBlock call $~lib/rt/tlsf/freeBlock ) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:wasi/trace - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 17920 - i32.const 17968 - i32.const 1 - i32.const 1 - call $~lib/wasi/index/abort - unreachable - end - ) - (func $~lib/wasi/index/abort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store - i32.const 0 - i32.const 12 - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf - i32.const 12 - local.set $4 - local.get $4 - i64.const 9071471065260641 - i64.store - local.get $4 - i32.const 7 - i32.add - local.set $4 - local.get $0 - i32.const 0 - i32.ne - if - local.get $4 - local.get $0 - local.get $0 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - i32.const 544106784 - i32.store - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $1 - i32.const 0 - i32.ne - if - local.get $4 - local.get $1 - local.get $1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store - local.get $9 - call $~lib/string/String#get:length - local.get $4 - i32.const 0 - call $~lib/string/String.UTF8.encodeUnsafe - i32.add - local.set $4 - end - local.get $4 - local.tee $5 - i32.const 1 - i32.add - local.set $4 - local.get $5 - i32.const 40 - i32.store8 - local.get $2 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|0 - local.get $2 - i32.const 10 - i32.div_u - local.set $5 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $2 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $5 - local.set $2 - local.get $2 - local.set $7 - local.get $7 - br_if $do-continue|0 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - local.tee $7 - i32.const 1 - i32.add - local.set $4 - local.get $7 - i32.const 58 - i32.store8 - local.get $3 - call $~lib/util/number/decimalCount32 - local.set $6 - local.get $4 - local.get $6 - i32.add - local.set $4 - loop $do-continue|1 - local.get $3 - i32.const 10 - i32.div_u - local.set $7 - local.get $4 - i32.const 1 - i32.sub - local.tee $4 - i32.const 48 - local.get $3 - i32.const 10 - i32.rem_u - i32.add - i32.store8 - local.get $7 - local.set $3 - local.get $3 - local.set $8 - local.get $8 - br_if $do-continue|1 - end - local.get $4 - local.get $6 - i32.add - local.set $4 - local.get $4 - i32.const 2601 - i32.store16 - local.get $4 - i32.const 2 - i32.add - local.set $4 - i32.const 0 - local.get $4 - i32.const 12 - i32.sub - call $~lib/bindings/wasi_snapshot_preview1/iovec#set:buf_len - i32.const 2 - i32.const 0 - i32.const 1 - i32.const 8 - call $~lib/bindings/wasi_snapshot_preview1/fd_write - drop - i32.const 255 - call $~lib/bindings/wasi_snapshot_preview1/proc_exit - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/wasi/index/trace (param $0 i32) (param $1 i32) (param $2 f64) (param $3 f64) (param $4 f64) (param $5 f64) (param $6 f64) (local $7 i32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store i32.const 8 i32.const 4 i32.add i32.const 1 i32.add local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 i32.const 0 call $~lib/string/String.UTF8.byteLength local.tee $7 @@ -4868,11 +4809,6 @@ local.get $9 local.get $0 local.get $0 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store - local.get $12 call $~lib/string/String#get:length local.get $11 i32.const 0 @@ -5018,10 +4954,28 @@ drop local.get $9 call $~lib/rt/tlsf/__free + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:wasi/trace + ) + (func $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 17920 + i32.const 17968 + i32.const 1 + i32.const 1 + call $~lib/wasi/index/abort + unreachable + end ) (func $start:wasi/trace (local $0 i32)